我的示例代码是:
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(query);
但按照建议,我需要使用此调用
TopDocs result = searcherPM.Search(query, null, nTo);
当我使用ParallelMultiSearch时,谁能告诉我如何从结果TopDocs中检索Document?
感谢名单。
答案 0 :(得分:0)
我认为并行多人和正常多人之间不应该有区别。 应该像我想的那样:
for (int i = 0; i < results.totalHits; i++)
{
var doc = searcherPM.Doc(results.scoreDocs[i].doc);
}
最好的结果是结果中的第一个结果。 在该片段中,如果该文档不为空,我将检查该文档。但是我不知道为什么,不幸的是我不能提到来源。