1

我有一个 lucene.net-index,其中包含“标题”、“描述”等字段。对于搜索,我使用 TopScoreDocDollector。如果我搜索结果,则按 Lucenes 分数优先。

现在,一些结果具有相同的分数,Lucene 首先按分数对文档进行排序,然后按索引中的创建日期排序。
我会首先按 Lucene-score 排序,然后按 "title"-field 的 Lucene-score 排序。有这样的事吗?

我只能找到一种方法,首先按 Lucene-score 排序,然后按标题按字母顺序排序。

4

2 回答 2

1

您将需要进行自己的排序,或编写自定义收集器。

默认情况下,TopScoreDocDollector将按分数排序,然后按 docid。当分数相等时,docid 的排序在内部很重要。

在显示结果时进行自定义排序应该是微不足道的。

于 2013-11-15T15:24:22.420 回答
0

这真的没有意义。如果标题字段没有得到相同的分数,那么假设总分也不相同是合理的,因此您的二级排序实际上不会对订单产生任何影响。总体分数相同但特定领域的分数不同的情况是不太可能的。

如果您的意思相反,首先按标题分数排序,然后按总分排序,我会通过提升标题字段来做到这一点。在这种情况下,索引时间提升可能最有意义。

于 2013-11-15T16:48:42.403 回答