Package org.apache.lucene.index
Class ExitableDirectoryReader
java.lang.Object
org.apache.lucene.index.IndexReader
org.apache.lucene.index.CompositeReader
org.apache.lucene.index.BaseCompositeReader<LeafReader>
org.apache.lucene.index.DirectoryReader
org.apache.lucene.index.FilterDirectoryReader
org.apache.lucene.index.ExitableDirectoryReader
- All Implemented Interfaces:
Closeable,AutoCloseable
The
ExitableDirectoryReader wraps a real index DirectoryReader and allows for a
QueryTimeout implementation object to be checked periodically to see if the thread should
exit or not. If QueryTimeout.shouldExit() returns true, an ExitableDirectoryReader.ExitingReaderException
is thrown.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classWrapper class for another FilterAtomicReader.static classWrapper class for a SubReaderWrapper that is used by the ExitableDirectoryReader.static classWrapper class for another Terms implementation that is used by ExitableFields.static classWrapper class for TermsEnum that is used by ExitableTerms for implementing an exitable enumeration of terms.static classException that is thrown to prematurely terminate a term enumeration.Nested classes/interfaces inherited from class org.apache.lucene.index.FilterDirectoryReader
FilterDirectoryReader.DelegatingCacheHelper, FilterDirectoryReader.SubReaderWrapperNested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener -
Field Summary
Fields inherited from class org.apache.lucene.index.FilterDirectoryReader
inFields inherited from class org.apache.lucene.index.DirectoryReader
directoryFields inherited from class org.apache.lucene.index.BaseCompositeReader
subReadersSorter -
Constructor Summary
ConstructorsConstructorDescriptionExitableDirectoryReader(DirectoryReader in, QueryTimeout queryTimeout) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected DirectoryReaderCalled by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.Optional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader.toString()static DirectoryReaderwrap(DirectoryReader in, QueryTimeout queryTimeout) Wraps a provided DirectoryReader.Methods inherited from class org.apache.lucene.index.FilterDirectoryReader
doClose, doOpenIfChanged, doOpenIfChanged, doOpenIfChanged, getDelegate, getIndexCommit, getVersion, isCurrent, unwrapMethods inherited from class org.apache.lucene.index.DirectoryReader
directory, indexExists, listCommits, open, open, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChangedMethods inherited from class org.apache.lucene.index.BaseCompositeReader
docFreq, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, maxDoc, numDocs, readerBase, readerIndex, storedFields, termVectors, totalTermFreqMethods inherited from class org.apache.lucene.index.CompositeReader
getContextMethods inherited from class org.apache.lucene.index.IndexReader
close, decRef, ensureOpen, equals, getRefCount, hasDeletions, hashCode, incRef, leaves, notifyReaderClosedListeners, numDeletedDocs, registerParentReader, tryIncRef
-
Constructor Details
-
ExitableDirectoryReader
Constructor- Parameters:
in- DirectoryReader that this ExitableDirectoryReader wraps around to make it Exitable.queryTimeout- The object to periodically check if the query should time out.- Throws:
IOException
-
-
Method Details
-
doWrapDirectoryReader
Description copied from class:FilterDirectoryReaderCalled by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.Implementations should just return an instantiation of themselves, wrapping the passed in DirectoryReader.
- Specified by:
doWrapDirectoryReaderin classFilterDirectoryReader- Parameters:
in- the DirectoryReader to wrap- Returns:
- the wrapped DirectoryReader
- Throws:
IOException
-
wrap
public static DirectoryReader wrap(DirectoryReader in, QueryTimeout queryTimeout) throws IOException Wraps a provided DirectoryReader. Note that for convenience, the returned reader can be used normally (e.g. passed toDirectoryReader.openIfChanged(DirectoryReader)) and so on.- Throws:
IOException
-
getReaderCacheHelper
Description copied from class:IndexReaderOptional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader. Two readers that have different data or different sets of deleted documents will be considered different.A return value of
nullindicates that this reader is not suited for caching, which is typically the case for short-lived wrappers that alter the content of the wrapped reader.- Specified by:
getReaderCacheHelperin classIndexReader
-
toString
- Overrides:
toStringin classCompositeReader
-