Lucene.NET MultiSearcher

时间:2010-01-27 17:07:47

标签: search lucene.net

我的示例代码是:

            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?

感谢名单。

1 个答案:

答案 0 :(得分:0)

我认为并行多人和正常多人之间不应该有区别。 应该像我想的那样:

for (int i = 0; i < results.totalHits; i++)
{
   var doc = searcherPM.Doc(results.scoreDocs[i].doc);
}

最好的结果是结果中的第一个结果。 在该片段中,如果该文档不为空,我将检查该文档。但是我不知道为什么,不幸的是我不能提到来源。