lucene - 如何在 lucene 中对等分应用默认排序?

标签 lucene sorting

美好的一天,

例如,如果我有包含以下字段的文档

Person_name - Birthday
Jordan - 2009-06-15
Marc - 2009-01-01
Marcos - 2009-01-01
Marcissh_something_something - 2009-06-15
Marcos - 2009-12-31

在搜索 Person_name:Marc* 后,我得到了以下分数(此处的分数是假设的)

Person_name - Birthday - Score
Jordan - 2009-06-15 - 0.0
Marc - 2009-01-01 - 1.0
Marcos - 2009-01-01 - 0.8
Marcissh_something_something - 2009-06-15 - 0.1
Marcos - 2009-12-31 - 0.8

如何检索结果,使结果首先按相关性排序,然后假设相同的相关性(分数)按生日降序排序......这样结果是

Person_name - Birthday - Score
Marc - 2009-01-01 - 1.0
Marcos - 2009-12-31 - 0.8
Marcos - 2009-01-01 - 0.8
Marcissh_something_something - 2009-06-15 - 0.1

谢谢

最佳答案

我本来打算推荐一个 ScoreDocComparator,但我发现它现在已被弃用。您可以使用 FieldComparator 。您需要创建一个 TopFieldCollector并定义其 Sort根据您的意愿。我相信这是相当新的,因为我找不到一个好的例子。

关于lucene - 如何在 lucene 中对等分应用默认排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1700134/

相关文章:

java - 带有枚举字段的 Hibernate Search/Lucene 范围查询不返回任何结果

Solr 英语同义词标准列表

lucene - 以精确编辑距离搜索 Lucene

elasticsearch - 有没有一种方法可以将 Elasticsearch “day level indices”聚合为单个 “month level index”?

hibernate - Spring MVC代码-部署时抛出HSEARCH000103异常

c++ - 在 C 中合并 2 个排序数组

ruby-on-rails - Ruby 二维数组排序基于第一个元素

c - C 中字符串的排序列表数组

php排序对象的属性

java - 对 Java 对象列表进行排序