按不同字段对Lucene搜索结果进行排序

时间:2012-03-18 00:53:44

标签: sorting lucene

我正在使用Lucene.NET并按“日期”字段排序搜索结果。

以下是按日期排序的搜索结果的一些示例代码:

var collector = TopFieldCollector.Create(sortByDate, nDocuments, false, true, true, false);
indexSearcher.Search(query, collector);
var scoreDocs = collector.TopDocs().ScoreDocs;

我需要通过其他一些字段对结果进行排序,这些字段在得到结果后就不知道了。

例如,在按日期排序的初始结果之后,我需要按Name / From / etc排序。

是否可以再次对collector / ScoreDocs进行排序?

感谢。

1 个答案:

答案 0 :(得分:1)

您无法再次对scoreDocs进行排序,因为它只包含顶级文档,但您可以再次运行此查询在不同的字段上排序。