Package org.apache.lucene.facet.taxonomy
Class SearcherTaxonomyManager
- java.lang.Object
-
- org.apache.lucene.search.ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
-
- org.apache.lucene.facet.taxonomy.SearcherTaxonomyManager
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class SearcherTaxonomyManager extends ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
Manages near-real-time reopen of both an IndexSearcher and a TaxonomyReader.NOTE: If you call
DirectoryTaxonomyWriter.replaceTaxonomy(org.apache.lucene.store.Directory)
then you must open a newSearcherTaxonomyManager
afterwards.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SearcherTaxonomyManager.SearcherAndTaxonomy
Holds a matched pair ofIndexSearcher
andTaxonomyReader
-
Nested classes/interfaces inherited from class org.apache.lucene.search.ReferenceManager
ReferenceManager.RefreshListener
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.search.ReferenceManager
current
-
-
Constructor Summary
Constructors Constructor Description SearcherTaxonomyManager(IndexReader reader, DirectoryTaxonomyReader taxoReader, SearcherFactory searcherFactory)
Creates this from already openedIndexReader
andDirectoryTaxonomyReader
instances.SearcherTaxonomyManager(IndexWriter writer, boolean applyAllDeletes, SearcherFactory searcherFactory, DirectoryTaxonomyWriter taxoWriter)
Expert: creates near-real-time searcher and taxonomy reader from the corresponding writers, controlling whether deletes should be applied.SearcherTaxonomyManager(IndexWriter writer, SearcherFactory searcherFactory, DirectoryTaxonomyWriter taxoWriter)
Creates near-real-time searcher and taxonomy reader from the corresponding writers.SearcherTaxonomyManager(Directory indexDir, Directory taxoDir, SearcherFactory searcherFactory)
Creates search and taxonomy readers over the corresponding directories.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
decRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
protected int
getRefCount(SearcherTaxonomyManager.SearcherAndTaxonomy reference)
protected SearcherTaxonomyManager.SearcherAndTaxonomy
refreshIfNeeded(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
protected boolean
tryIncRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
-
Methods inherited from class org.apache.lucene.search.ReferenceManager
acquire, addListener, afterClose, afterMaybeRefresh, close, maybeRefresh, maybeRefreshBlocking, release, removeListener
-
-
-
-
Constructor Detail
-
SearcherTaxonomyManager
public SearcherTaxonomyManager(IndexWriter writer, SearcherFactory searcherFactory, DirectoryTaxonomyWriter taxoWriter) throws IOException
Creates near-real-time searcher and taxonomy reader from the corresponding writers.- Throws:
IOException
-
SearcherTaxonomyManager
public SearcherTaxonomyManager(IndexWriter writer, boolean applyAllDeletes, SearcherFactory searcherFactory, DirectoryTaxonomyWriter taxoWriter) throws IOException
Expert: creates near-real-time searcher and taxonomy reader from the corresponding writers, controlling whether deletes should be applied.- Throws:
IOException
-
SearcherTaxonomyManager
public SearcherTaxonomyManager(Directory indexDir, Directory taxoDir, SearcherFactory searcherFactory) throws IOException
Creates search and taxonomy readers over the corresponding directories.NOTE: you should only use this constructor if you commit and call
ReferenceManager.maybeRefresh()
in the same thread. Otherwise it could lead to an unsync'dIndexSearcher
andTaxonomyReader
pair.- Throws:
IOException
-
SearcherTaxonomyManager
public SearcherTaxonomyManager(IndexReader reader, DirectoryTaxonomyReader taxoReader, SearcherFactory searcherFactory) throws IOException
Creates this from already openedIndexReader
andDirectoryTaxonomyReader
instances. Note that the incoming readers will be closed when you callReferenceManager.close()
.- Throws:
IOException
-
-
Method Detail
-
decRef
protected void decRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref) throws IOException
- Specified by:
decRef
in classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
- Throws:
IOException
-
tryIncRef
protected boolean tryIncRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref) throws IOException
- Specified by:
tryIncRef
in classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
- Throws:
IOException
-
refreshIfNeeded
protected SearcherTaxonomyManager.SearcherAndTaxonomy refreshIfNeeded(SearcherTaxonomyManager.SearcherAndTaxonomy ref) throws IOException
- Specified by:
refreshIfNeeded
in classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
- Throws:
IOException
-
getRefCount
protected int getRefCount(SearcherTaxonomyManager.SearcherAndTaxonomy reference)
- Specified by:
getRefCount
in classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
-
-