org.apache.lucene.search

Class MultiSearcher

Implemented Interfaces:
Remote, Searchable
Known Direct Subclasses:
ParallelMultiSearcher

public class MultiSearcher
extends Searcher

Implements search over a set of Searchables.

Applications usually need only call the inherited search(Query) or search(Query,Filter) methods.

Constructor Summary

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

Method Summary

void
close()
protected Weight
createWeight(Query original)
Create weight in multiple index scenario.
Document
doc(int n)
int
docFreq(Term term)
Explanation
explain(Weight weight, int doc)
Searchable[]
getSearchables()
Return the array of Searchables this searches.
protected int[]
getStarts()
int
maxDoc()
Query
rewrite(Query original)
TopDocs
search(Weight weight, Filter filter, int nDocs)
TopFieldDocs
search(Weight weight, Filter filter, int n, Sort sort)
void
search(Weight weight, Filter filter, HitCollector results)
int
searcherIndex(int n)
Deprecated.
int
subDoc(int n)
Returns the document number of document n within its sub-index.
int
subSearcher(int n)
Returns index of the searcher for document n in the array used to construct this searcher.

Methods inherited from class org.apache.lucene.search.Searcher

close, createWeight, doc, docFreq, docFreqs, explain, explain, getSimilarity, maxDoc, rewrite, search, search, search, search, search, search, search, search, search, search, search, setSimilarity

Constructor Details

MultiSearcher

public MultiSearcher(Searchable[] searchables)
            throws IOException
Creates a searcher which searches searchables.

Method Details

close

public void close()
            throws IOException
Specified by:
close in interface Searchable
Overrides:
close in interface Searcher

createWeight

protected Weight createWeight(Query original)
            throws IOException
Create weight in multiple index scenario. Distributed query processing is done in the following steps: 1. rewrite query 2. extract necessary terms 3. collect dfs for these terms from the Searchables 4. create query weight using aggregate dfs. 5. distribute that weight to Searchables 6. merge results Steps 1-4 are done here, 5+6 in the search() methods
Overrides:
createWeight in interface Searcher
Returns:
rewritten queries

doc

public Document doc(int n)
            throws IOException
Specified by:
doc in interface Searchable
Overrides:
doc in interface Searcher

docFreq

public int docFreq(Term term)
            throws IOException
Specified by:
docFreq in interface Searchable
Overrides:
docFreq in interface Searcher

explain

public Explanation explain(Weight weight,
                           int doc)
            throws IOException
Specified by:
explain in interface Searchable
Overrides:
explain in interface Searcher

getSearchables

public Searchable[] getSearchables()
Return the array of Searchables this searches.

getStarts

protected int[] getStarts()

maxDoc

public int maxDoc()
            throws IOException
Specified by:
maxDoc in interface Searchable
Overrides:
maxDoc in interface Searcher

rewrite

public Query rewrite(Query original)
            throws IOException
Specified by:
rewrite in interface Searchable
Overrides:
rewrite in interface Searcher

search

public TopDocs search(Weight weight,
                      Filter filter,
                      int nDocs)
            throws IOException
Specified by:
search in interface Searchable
Overrides:
search in interface Searcher

search

public TopFieldDocs search(Weight weight,
                           Filter filter,
                           int n,
                           Sort sort)
            throws IOException
Specified by:
search in interface Searchable
Overrides:
search in interface Searcher

search

public void search(Weight weight,
                   Filter filter,
                   HitCollector results)
            throws IOException
Specified by:
search in interface Searchable
Overrides:
search in interface Searcher

searcherIndex

public int searcherIndex(int n)

Deprecated.


subDoc

public int subDoc(int n)
Returns the document number of document n within its sub-index.

subSearcher

public int subSearcher(int n)
Returns index of the searcher for document n in the array used to construct this searcher.

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