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 newSearcherTaxonomyManagerafterwards.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSearcherTaxonomyManager.SearcherAndTaxonomyHolds a matched pair ofIndexSearcherandTaxonomyReader-
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 openedIndexReaderandDirectoryTaxonomyReaderinstances.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 voiddecRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref)protected intgetRefCount(SearcherTaxonomyManager.SearcherAndTaxonomy reference)protected SearcherTaxonomyManager.SearcherAndTaxonomyrefreshIfNeeded(SearcherTaxonomyManager.SearcherAndTaxonomy ref)protected booleantryIncRef(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'dIndexSearcherandTaxonomyReaderpair.- Throws:
IOException
-
SearcherTaxonomyManager
public SearcherTaxonomyManager(IndexReader reader, DirectoryTaxonomyReader taxoReader, SearcherFactory searcherFactory) throws IOException
Creates this from already openedIndexReaderandDirectoryTaxonomyReaderinstances. 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:
decRefin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>- Throws:
IOException
-
tryIncRef
protected boolean tryIncRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref) throws IOException
- Specified by:
tryIncRefin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>- Throws:
IOException
-
refreshIfNeeded
protected SearcherTaxonomyManager.SearcherAndTaxonomy refreshIfNeeded(SearcherTaxonomyManager.SearcherAndTaxonomy ref) throws IOException
- Specified by:
refreshIfNeededin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>- Throws:
IOException
-
getRefCount
protected int getRefCount(SearcherTaxonomyManager.SearcherAndTaxonomy reference)
- Specified by:
getRefCountin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
-
-