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
new SearcherTaxonomyManager afterwards.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordHolds a matched pair ofIndexSearcherandTaxonomyReaderNested 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
ConstructorsConstructorDescriptionSearcherTaxonomyManager(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
Modifier and TypeMethodDescriptionprotected voidprotected intprotected booleanMethods inherited from class org.apache.lucene.search.ReferenceManager
acquire, addListener, afterClose, afterMaybeRefresh, close, maybeRefresh, maybeRefreshBlocking, release, removeListener
-
Constructor Details
-
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 Details
-
decRef
- Specified by:
decRefin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>- Throws:
IOException
-
tryIncRef
- 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
- Specified by:
getRefCountin classReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
-