public final class ReaderManager extends ReferenceManager<DirectoryReader>
DirectoryReader
instances across
multiple threads, while periodically reopening. This class ensures each
reader is closed only once all threads have finished using it.SearcherManager
ReferenceManager.RefreshListener
Constructor and Description |
---|
ReaderManager(Directory dir)
Creates and returns a new ReaderManager from the given
Directory . |
ReaderManager(IndexWriter writer,
boolean applyAllDeletes)
Creates and returns a new ReaderManager from the given
IndexWriter . |
acquire, addListener, close, maybeRefresh, maybeRefreshBlocking, release, removeListener
public ReaderManager(IndexWriter writer, boolean applyAllDeletes) throws IOException
IndexWriter
.writer
- the IndexWriter to open the IndexReader from.applyAllDeletes
- If true
, all buffered deletes will be applied (made
visible) in the IndexSearcher
/ DirectoryReader
.
If false
, the deletes may or may not be applied, but
remain buffered (in IndexWriter) so that they will be applied in
the future. Applying deletes can be costly, so if your app can
tolerate deleted documents being returned you might gain some
performance by passing false
. See
DirectoryReader.openIfChanged(DirectoryReader, IndexWriter, boolean)
.IOException
- If there is a low-level I/O errorpublic ReaderManager(Directory dir) throws IOException
Directory
.dir
- the directory to open the DirectoryReader on.IOException
- If there is a low-level I/O errorCopyright © 2010 - 2020 Adobe. All Rights Reserved