org.apache.lucene.search

Class ParallelMultiSearcher

public class ParallelMultiSearcher extends MultiSearcher

Implements parallel search over a set of Searchables.

Applications usually need only call the inherited {@link #search(Query)} or {@link #search(Query,Filter)} methods.

Constructor Summary
ParallelMultiSearcher(Searchable[] searchables)
Creates a searcher which searches searchables.
Method Summary
intdocFreq(Term term)
TODO: parallelize this one too
Queryrewrite(Query original)
TopDocssearch(Query query, Filter filter, int nDocs)
A search implementation which spans a new thread for each Searchable, waits for each search to complete and merge the results back together.
TopFieldDocssearch(Query query, Filter filter, int nDocs, Sort sort)
A search implementation allowing sorting which spans a new thread for each Searchable, waits for each search to complete and merges the results back together.
voidsearch(Query query, Filter filter, HitCollector results)
Lower-level search API.

Constructor Detail

ParallelMultiSearcher

public ParallelMultiSearcher(Searchable[] searchables)
Creates a searcher which searches searchables.

Method Detail

docFreq

public int docFreq(Term term)
TODO: parallelize this one too

rewrite

public Query rewrite(Query original)

search

public TopDocs search(Query query, Filter filter, int nDocs)
A search implementation which spans a new thread for each Searchable, waits for each search to complete and merge the results back together.

search

public TopFieldDocs search(Query query, Filter filter, int nDocs, Sort sort)
A search implementation allowing sorting which spans a new thread for each Searchable, waits for each search to complete and merges the results back together.

search

public void search(Query query, Filter filter, HitCollector results)
Lower-level search API.

{@link HitCollector#collect(int,float)} is called for every non-zero scoring document.

Applications should only use this if they need all of the matching documents. The high-level search API ({@link Searcher#search(Query)}) is usually more efficient, as it skips non-high-scoring hits.

Parameters: query to match documents filter if non-null, a bitset used to eliminate some documents results to receive hits TODO: parallelize this one too

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.