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

3

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

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

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

我需要按照一些其他字段对结果进行排序,但是在获取结果之后这些字段并不知道。

例如,在按日期排序的初始结果之后,我需要按名称/来源等排序。

是否可以再次对收集器/ScoreDocs进行排序?

谢谢。


你可以不将这些结果收集到自定义列表中,然后通过选择的任何列进行排序。 - Mikos
1个回答

1

您无法对scoreDocs再次进行排序,因为它仅包含顶部文档,但您可以再次运行此查询并按不同字段进行排序。


谢谢,我也有同样的想法,但需要确认最佳方法。 - Din

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接