org.apache.lucene.search
Class IndexSearcher
- Remote, Searchable
public class IndexSearcher
Implements search over a single IndexReader.
Applications usually need only call the inherited
search(Query)
or
search(Query,Filter)
methods. For performance reasons it is
recommended to open only one IndexSearcher and use it for all of your searches.
Note that you can only access Hits from an IndexSearcher as long as it is
not yet closed, otherwise an IOException will be thrown.
close , createWeight , doc , docFreq , docFreqs , explain , explain , getSimilarity , maxDoc , rewrite , search , search , search , search , search , search , search , search , search , search , search , setSimilarity |
IndexSearcher
public IndexSearcher(String path)
throws IOException
Creates a searcher searching the index in the named directory.
IndexSearcher
public IndexSearcher(IndexReader r)
Creates a searcher searching the provided index.
IndexSearcher
public IndexSearcher(Directory directory)
throws IOException
Creates a searcher searching the index in the provided directory.
close
public void close()
throws IOException
Note that the underlying IndexReader is not closed, if
IndexSearcher was constructed with IndexSearcher(IndexReader r).
If the IndexReader was supplied implicitly by specifying a directory, then
the IndexReader gets closed.
- close in interface Searchable
- close in interface Searcher
docFreq
public int docFreq(Term term)
throws IOException
Expert: Returns the number of documents containing term
.
Called by search code to compute term weights.
- docFreq in interface Searchable
- docFreq in interface Searcher
explain
public Explanation explain(Weight weight,
int doc)
throws IOException
Expert: low-level implementation method
Returns an Explanation that describes how
doc
scored against
weight
.
This is intended to be used in developing Similarity implementations,
and, for good performance, should not be displayed with every hit.
Computing an explanation is as expensive as executing the query over the
entire index.
Applications should call
Searcher.explain(Query,int)
.
- explain in interface Searchable
- explain in interface Searcher
maxDoc
public int maxDoc()
throws IOException
Expert: Returns one greater than the largest possible document number.
Called by search code to compute term weights.
- maxDoc in interface Searchable
- maxDoc in interface Searcher
search
public void search(Weight weight,
Filter filter,
HitCollector results)
throws IOException
Lower-level search API.
HitCollector.collect(int,float)
is called for every non-zero
scoring document.
HitCollector-based access to remote indexes is discouraged.
Applications should only use this if they need
all of the
matching documents. The high-level search API (
Searcher.search(Query)
) is usually more efficient, as it skips
non-high-scoring hits.
- search in interface Searchable
- search in interface Searcher
weight
- to match documentsfilter
- if non-null, a bitset used to eliminate some documentsresults
- to receive hits
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.