【发布时间】:2011-06-03 10:10:18
【问题描述】:
我正在使用 lucene 进行搜索操作,我正在使用 topscorecollector 获取结果,但我发现它无法对我的 topscorecollector 结果进行排序。我觉得对它进行排序很奇怪。我们可以对 TopscoreCollector 结果进行排序吗?
我的代码是这样的
TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);
indexSearch.Search(andSearchQuery, filter, collector);
ScoreDoc[] hits = collector.TopDocs().scoreDocs;
for (int i = 0; i < hits.Length; i++)
{
int docId = hits[i].doc;
float score = hits[i].score;
Lucene.Net.Documents.Document doc = indexSearch.Doc(docId);
document.Add(doc);
}
谁能帮帮我?
还有一个疑问 我们可以像这样对搜索结果进行排序
Hits hits = IndexSearch.search(searchQuery, filter, sort);
但它表明 Hits 已被 Lucene 3.0 淘汰。所以我选择了TopscoreCollector。但是现在我很困惑?
如果有任何其他的 Hits 替代方法,请将其传递给我...
【问题讨论】:
标签: lucene.net