views:

220

answers:

1

Hi, My sample code is:

            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);

Here I use hits = searcherPM.Search(query);

but as recommended I need to use this call

            TopDocs result = searcherPM.Search(query, null, nTo);

Who can say me how to retrieve Document from the result TopDocs when I use ParallelMultiSearch?

Thanx.

A: 

I assume there should not be difference between parallel multisearcher and the normal one. Should be like bellow I think:

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

The best result is the first one in the results. In the snippet I fould this doc was after checked if it is not null. However I don't know why and unfortunately I cannot mention the source.

Jenea