首页 / 知识
Lucene精确排序
2023-04-12 01:21:00

Lucene exact ordering我遇到了一个长期问题,就是不太了解如何实现不错的Lucene排序或排名。假设我有一个城市及其人口清单。如果有人搜索" new "或" london ",我希望按人口顺序对前缀匹配列表进行排序,那么我可以使用前缀搜索和反向按字段排序(其中存在人口字段,即IE New)墨西哥,纽约;或伦敦德里(Londonderry)的伦敦。 但是,我也始终希望精确匹配的名称位于顶部。因此,对于"伦敦",该列表应显示"伦敦,伦敦,伦敦德里",其中第一个伦敦在英国,第二个伦敦在康涅狄格州,即使Londonderry的人口比伦敦CT高。 有人有一个查询解决方案吗? dlamblin,让我看看我是否正确:您要进行基于前缀的查询,然后按总体对结果进行排序,并可能将排序顺序与首选项进行精确匹配。 的API
说
您可以应用
到sortcomparator,其中有一个Comparator字段,api表示...
因此可以对术语进行相应的排序 我当前的解决方案是创建一个精确的搜索器和一个前缀搜索器,二者均按反向填充排序,然后从精确的匹配项开始复制所有我的匹配项,然后移至前缀匹配项。分页使我的结果分页比我想象的要烦。 我也使用哈希来消除重复项,但后来将前缀搜索器更改为前缀搜索(MUST)和精确搜索(MUST NOT)的布尔查询,以使Lucene删除重复项。尽管这似乎更加浪费。 编辑:移至评论(由于该功能现在已存在):Yuval F感谢您的博客文章……排序比较器将如何知道名称字段" london "与搜索词"完全匹配伦敦",如果它无法访问搜索词? |
最新内容
相关内容
python怎么使用列表
python怎么使用列表,位置,培训,公式,列表,元素,表示,末尾,切片,倒数,顺序,python列表的简单操作1.在列表末尾添加元素:sth.append()2.在列表中python怎么获取列表元素的索引
python怎么获取列表元素的索引,培训,索引,元素,结果,列表,方法,中值,本文,下面,以上,本文主要介绍了python中如何获取列表的索引,以及如何返回pythonsort()怎么排序
pythonsort()怎么排序,数据,培训,方法,参数,元素,类型,结果,下面,数组,字典,python中的sort()函数只能应用在列表list上,而sorted可以对所有可python列表和元祖之间的区别
python列表和元祖之间的区别,数据,培训,设计,名字,类型,区别,同构,列表,不同点,操作,python列表和元组的区别如下相同点:都是序列类型回答它们python列表可变化吗
python列表可变化吗,地址,培训,数据,基础,数据类型,列表,发生,内存,变量,内容,以下所有的内容都是基于内存地址来说的。不可变数据类型:当该数python列表操作的函数和方法
python列表操作的函数和方法,培训,位置,列表,元素,操作,函数,末尾,方法,对象,以下,1列表操作包含以下函数:21、cmp(list1,list2):比较两个列表python列表怎么写
python列表怎么写,培训,概念,位置,简介,数据,列表,元素,方法,数组,操作,首先,我们需要明确的一点就是Python是没有数组这一概念的,,但是Python中python如何打印列表长度
python如何打印列表长度,培训,技术,概念,项目,列表,长度,数组,方法,鲜为人知,初始化,首先,我们需要明确的一点就是Python是没有数组这一概念的python如何打印列表
python如何打印列表,代码,培训,列表,参数,语句,结果,定义,切片,函数,后面,Python列表的打印方法如下我们知道,Python打印列表一般是要用for…ipython如何定义列表
python如何定义列表,数据,培训,列表,一致,工厂,合法,名称,数组,元素,类型,在实际开发中,经常需要将一些(不只一个)数据暂储起来,以便将来使用。python列表怎么倒序
python列表怎么倒序,培训,函数,排列,方式,列表,升序,方法,下面,以上,代表,python使列表倒序排列的方法有很多,下面说一下具体的方法方式一:使python如何实现对Python中列表的排
python如何实现对Python中列表的排序?,培训,工作,实例,方法,关键字,对象,函数,以上,列表,表达式,对List进行排序,Python提供了两个方法方法1.