org.apache.lucene.facet.taxonomy
Class SearcherTaxonomyManager

java.lang.Object
  extended by org.apache.lucene.search.ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
      extended by org.apache.lucene.facet.taxonomy.SearcherTaxonomyManager
All Implemented Interfaces:
Closeable

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
static class SearcherTaxonomyManager.SearcherAndTaxonomy
          Holds a matched pair of IndexSearcher and TaxonomyReader
 
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
SearcherTaxonomyManager(Directory indexDir, Directory taxoDir, SearcherFactory searcherFactory)
          Creates search and taxonomy readers over the corresponding directories.
SearcherTaxonomyManager(IndexWriter writer, boolean applyAllDeletes, SearcherFactory searcherFactory, DirectoryTaxonomyWriter taxoWriter)
          Creates near-real-time searcher and taxonomy reader from the corresponding writers.
 
Method Summary
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearcherTaxonomyManager

public SearcherTaxonomyManager(IndexWriter writer,
                               boolean applyAllDeletes,
                               SearcherFactory searcherFactory,
                               DirectoryTaxonomyWriter taxoWriter)
                        throws IOException
Creates near-real-time searcher and taxonomy reader from the corresponding writers.

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'd IndexSearcher and TaxonomyReader pair.

Throws:
IOException
Method Detail

decRef

protected void decRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
               throws IOException
Specified by:
decRef in class ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
Throws:
IOException

tryIncRef

protected boolean tryIncRef(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
                     throws IOException
Specified by:
tryIncRef in class ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
Throws:
IOException

refreshIfNeeded

protected SearcherTaxonomyManager.SearcherAndTaxonomy refreshIfNeeded(SearcherTaxonomyManager.SearcherAndTaxonomy ref)
                                                               throws IOException
Specified by:
refreshIfNeeded in class ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>
Throws:
IOException

getRefCount

protected int getRefCount(SearcherTaxonomyManager.SearcherAndTaxonomy reference)
Specified by:
getRefCount in class ReferenceManager<SearcherTaxonomyManager.SearcherAndTaxonomy>


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.