我的示例代码是:
Searchable[] remoteSearch = new Searchable[sindexes.Length];
for (int i = 0; i < sindexes.Length; i++)
{
if(sindexes[i].Trim().Length>0)
remoteSearch[i] = new IndexSearcher(sindexes[i]);
}
searcherPM = new ParallelMultiSearcher(remoteSearch);
QueryParser qp = new QueryParser("text", new
Lucene.Net.Analysis.Standard.StandardAnalyzer());
Query query = qp.Parse(InputText);
hits = searcherPM.Search(query);这里我使用hits =searcherPM.Search(查询);
但是按照建议,我需要使用这个调用
TopDocs result = searcherPM.Search(query, null, nTo);谁能告诉我,当我使用ParallelMultiSearch时,如何从结果TopDocs检索文档?
谢谢。
发布于 2010-03-01 02:20:46
我假设在并行多搜索器和普通搜索器之间应该没有区别。我想应该是这样的:
for (int i = 0; i < results.totalHits; i++)
{
var doc = searcherPM.Doc(results.scoreDocs[i].doc);
}最好的结果是结果中的第一个。在代码片段中,如果检查了此文档是否不为空,则会发现该文档已被检查。然而,我不知道为什么,不幸的是,我不能提及来源。
https://stackoverflow.com/questions/2148839
复制相似问题