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.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Wrapper class for another FilterAtomicReader.static class
Wrapper class for a SubReaderWrapper that is used by the ExitableDirectoryReader.static class
Wrapper class for another Terms implementation that is used by ExitableFields.static class
Wrapper class for TermsEnum that is used by ExitableTerms for implementing an exitable enumeration of terms.static class
Exception that is thrown to prematurely terminate a term enumeration.Nested classes/interfaces inherited from class org.apache.lucene.index.FilterDirectoryReader
FilterDirectoryReader.DelegatingCacheHelper, FilterDirectoryReader.SubReaderWrapper
Nested 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
in
Fields inherited from class org.apache.lucene.index.DirectoryReader
directory
Fields inherited from class org.apache.lucene.index.BaseCompositeReader
subReadersSorter
-
Constructor Summary
ConstructorDescriptionExitableDirectoryReader
(DirectoryReader in, QueryTimeout queryTimeout) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected DirectoryReader
Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this reader.toString()
static DirectoryReader
wrap
(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, unwrap
Methods inherited from class org.apache.lucene.index.DirectoryReader
directory, indexExists, listCommits, open, open, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChanged
Methods inherited from class org.apache.lucene.index.BaseCompositeReader
docFreq, document, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, getTermVectors, maxDoc, numDocs, readerBase, readerIndex, totalTermFreq
Methods inherited from class org.apache.lucene.index.CompositeReader
getContext
Methods inherited from class org.apache.lucene.index.IndexReader
close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, 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:FilterDirectoryReader
Called 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:
doWrapDirectoryReader
in 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:IndexReader
Optional method: Return aIndexReader.CacheHelper
that 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
null
indicates 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:
getReaderCacheHelper
in classIndexReader
-
toString
- Overrides:
toString
in classCompositeReader
-