Module org.apache.lucene.core
Package org.apache.lucene.index
Class SoftDeletesDirectoryReaderWrapper
- 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.SoftDeletesDirectoryReaderWrapper
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class SoftDeletesDirectoryReaderWrapper extends FilterDirectoryReader
This reader filters out documents that have a doc values value in the given field and treat these documents as soft deleted. Hard deleted documents will also be filtered out in the life docs of this reader.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
SoftDeletesDirectoryReaderWrapper.SoftDeletesFilterCodecReader
(package private) static class
SoftDeletesDirectoryReaderWrapper.SoftDeletesFilterLeafReader
private static class
SoftDeletesDirectoryReaderWrapper.SoftDeletesSubReaderWrapper
-
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 Modifier and Type Field Description private java.lang.String
field
private IndexReader.CacheHelper
readerCacheHelper
-
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
Constructors Modifier Constructor Description SoftDeletesDirectoryReaderWrapper(DirectoryReader in, java.lang.String field)
Creates a new soft deletes wrapper.private
SoftDeletesDirectoryReaderWrapper(DirectoryReader in, SoftDeletesDirectoryReaderWrapper.SoftDeletesSubReaderWrapper wrapper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
assertDocCounts(int expectedNumDocs, int numSoftDeletes, LeafReader reader)
protected DirectoryReader
doWrapDirectoryReader(DirectoryReader in)
Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.IndexReader.CacheHelper
getReaderCacheHelper()
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this reader.(package private) static LeafReader
wrap(LeafReader reader, java.lang.String field)
-
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, storedFields, termVectors, totalTermFreq
-
Methods inherited from class org.apache.lucene.index.CompositeReader
getContext, toString
-
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
-
field
private final java.lang.String field
-
readerCacheHelper
private final IndexReader.CacheHelper readerCacheHelper
-
-
Constructor Detail
-
SoftDeletesDirectoryReaderWrapper
public SoftDeletesDirectoryReaderWrapper(DirectoryReader in, java.lang.String field) throws java.io.IOException
Creates a new soft deletes wrapper.- Parameters:
in
- the incoming directory readerfield
- the soft deletes field- Throws:
java.io.IOException
-
SoftDeletesDirectoryReaderWrapper
private SoftDeletesDirectoryReaderWrapper(DirectoryReader in, SoftDeletesDirectoryReaderWrapper.SoftDeletesSubReaderWrapper wrapper) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
doWrapDirectoryReader
protected DirectoryReader doWrapDirectoryReader(DirectoryReader in) throws java.io.IOException
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:
java.io.IOException
-
getReaderCacheHelper
public IndexReader.CacheHelper 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
-
wrap
static LeafReader wrap(LeafReader reader, java.lang.String field) throws java.io.IOException
- Throws:
java.io.IOException
-
assertDocCounts
private static boolean assertDocCounts(int expectedNumDocs, int numSoftDeletes, LeafReader reader)
-
-