Package org.apache.lucene.search
Class SearcherFactory
java.lang.Object
org.apache.lucene.search.SearcherFactory
Factory class used by
SearcherManager
to create new IndexSearchers. The default
implementation just creates an IndexSearcher with no custom behavior:
public IndexSearcher newSearcher(IndexReader r) throws IOException { return new IndexSearcher(r); }You can pass your own factory instead if you want custom behavior, such as:
- Setting a custom scoring model:
IndexSearcher.setSimilarity(Similarity)
- Parallel per-segment search:
IndexSearcher(IndexReader, Executor)
- Return custom subclasses of IndexSearcher (for example that implement distributed scoring)
- Run queries to warm your IndexSearcher before it is used. Note: when using near-realtime
search you may want to also
IndexWriterConfig.setMergedSegmentWarmer(IndexWriter.IndexReaderWarmer)
to warm newly merged segments in the background, outside of the reopen path.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionnewSearcher
(IndexReader reader, IndexReader previousReader) Returns a new IndexSearcher over the given reader.
-
Constructor Details
-
SearcherFactory
public SearcherFactory()
-
-
Method Details
-
newSearcher
Returns a new IndexSearcher over the given reader.- Parameters:
reader
- the reader to create a new searcher forpreviousReader
- the reader previously used to create a new searcher. This can benull
if unknown or if the given reader is the initially opened reader. If this reader is non-null it can be used to find newly opened segments compared to the new reader to warm the searcher up before returning.- Throws:
IOException
-