2013-11-15 58 views
0

我有一个lucene.net-索引,其中包含“title”,“description”等字段。 对于搜索,我使用TopScoreDocDollector。如果我搜索的结果是由Lucenes评分优先。

现在,一些结果具有相同的分数,并且Lucene首先按分数排序文档,然后按索引中的create-date排序。
我would've 第一分选由Lucene的分数和第二的“标题” -field Lucene的分数。有这样的事吗?

我只能找到一种方法,首先按照Lucene-score排序,然后按字母顺序依次排序。Lucene.NET搜索结果的优先级

回答

0

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

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

做一个自定义排序,当你显示的结果应该是微不足道的事。

0

这没有什么意义。如果标题字段得不到相同的分数,那么假设总分将不会相同,因此您的第二种排序对命令实际上没有任何影响。总得分相同但特定领域的得分不同的情况是不太可能的。

如果你的意思是相反的,以第一次排序的标题成绩,然后在整体分数,我只想做到这一点通过提高Title字段。在这种情况下,索引时间提升可能最有意义。