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:
java.io.Closeable,java.lang.AutoCloseable
public class ExitableDirectoryReader extends FilterDirectoryReader
TheExitableDirectoryReaderwraps a real indexDirectoryReaderand allows for aQueryTimeoutimplementation object to be checked periodically to see if the thread should exit or not. IfQueryTimeout.shouldExit()returns true, anExitableDirectoryReader.ExitingReaderExceptionis thrown.- See Also:
TimeLimitingCollector
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExitableDirectoryReader.ExitableFilterAtomicReaderWrapper class for another FilterAtomicReader.private static classExitableDirectoryReader.ExitableIntersectVisitorprivate static classExitableDirectoryReader.ExitablePointValuesWrapper class for another PointValues implementation that is used by ExitableFields.static classExitableDirectoryReader.ExitableSubReaderWrapperWrapper class for a SubReaderWrapper that is used by the ExitableDirectoryReader.static classExitableDirectoryReader.ExitableTermsWrapper class for another Terms implementation that is used by ExitableFields.static classExitableDirectoryReader.ExitableTermsEnumWrapper class for TermsEnum that is used by ExitableTerms for implementing an exitable enumeration of terms.static classExitableDirectoryReader.ExitingReaderExceptionException that is thrown to prematurely terminate a term enumeration.-
Nested classes/interfaces inherited from class org.apache.lucene.index.FilterDirectoryReader
FilterDirectoryReader.SubReaderWrapper
-
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener
-
-
Field Summary
Fields Modifier and Type Field Description private QueryTimeoutqueryTimeout-
Fields inherited from class org.apache.lucene.index.FilterDirectoryReader
in
-
Fields inherited from class org.apache.lucene.index.DirectoryReader
directory
-
-
Constructor Summary
Constructors Constructor Description ExitableDirectoryReader(DirectoryReader in, QueryTimeout queryTimeout)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DirectoryReaderdoWrapDirectoryReader(DirectoryReader in)Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.IndexReader.CacheHelpergetReaderCacheHelper()Optional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader.java.lang.StringtoString()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, unwrap
-
Methods inherited from class org.apache.lucene.index.DirectoryReader
directory, indexExists, listCommits, 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
-
-
-
-
Field Detail
-
queryTimeout
private QueryTimeout queryTimeout
-
-
Constructor Detail
-
ExitableDirectoryReader
public ExitableDirectoryReader(DirectoryReader in, QueryTimeout queryTimeout) throws java.io.IOException
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:
java.io.IOException
-
-
Method Detail
-
doWrapDirectoryReader
protected DirectoryReader doWrapDirectoryReader(DirectoryReader in) throws java.io.IOException
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:
java.io.IOException
-
wrap
public static DirectoryReader wrap(DirectoryReader in, QueryTimeout queryTimeout) throws java.io.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:
java.io.IOException
-
getReaderCacheHelper
public IndexReader.CacheHelper 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
public java.lang.String toString()
- Overrides:
toStringin classCompositeReader
-
-