public abstract class FilterLeafReader extends LeafReader
FilterLeafReader contains another LeafReader, which it
uses as its basic source of data, possibly transforming the data along the
way or providing additional functionality. The class
FilterLeafReader itself simply implements all abstract methods
of IndexReader with versions that pass all requests to the
contained index reader. Subclasses of FilterLeafReader may
further override some of these methods and may also provide additional
methods and fields.
NOTE: If you override getLiveDocs(), you will likely need
to override numDocs() as well and vice-versa.
NOTE: If this FilterLeafReader does not change the
content the contained reader, you could consider delegating calls to
LeafReader.getCoreCacheHelper() and IndexReader.getReaderCacheHelper().
| Modifier and Type | Class and Description |
|---|---|
static class |
FilterLeafReader.FilterFields
Base class for filtering
Fields
implementations. |
static class |
FilterLeafReader.FilterPostingsEnum
Base class for filtering
PostingsEnum implementations. |
static class |
FilterLeafReader.FilterTerms
Base class for filtering
Terms implementations. |
static class |
FilterLeafReader.FilterTermsEnum
Base class for filtering
TermsEnum implementations. |
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener| Modifier and Type | Field and Description |
|---|---|
protected LeafReader |
in
The underlying LeafReader.
|
| Constructor and Description |
|---|
FilterLeafReader(LeafReader in)
Construct a FilterLeafReader based on the specified base reader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkIntegrity()
Checks consistency of this reader.
|
protected void |
doClose()
Implements close.
|
void |
document(int docID,
StoredFieldVisitor visitor)
Expert: visits the fields of a stored document, for
custom processing/loading of each field.
|
BinaryDocValues |
getBinaryDocValues(java.lang.String field)
Returns
BinaryDocValues for this field, or
null if no binary doc values were indexed for
this field. |
LeafReader |
getDelegate()
Returns the wrapped
LeafReader. |
FieldInfos |
getFieldInfos()
Get the
FieldInfos describing all fields in
this reader. |
Bits |
getLiveDocs()
Returns the
Bits representing live (not
deleted) docs. |
LeafMetaData |
getMetaData()
Return metadata about this leaf.
|
NumericDocValues |
getNormValues(java.lang.String field)
Returns
NumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. |
NumericDocValues |
getNumericDocValues(java.lang.String field)
Returns
NumericDocValues for this field, or
null if no numeric doc values were indexed for
this field. |
PointValues |
getPointValues(java.lang.String field)
Returns the
PointValues used for numeric or
spatial searches for the given field, or null if there
are no point fields. |
SortedDocValues |
getSortedDocValues(java.lang.String field)
Returns
SortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. |
SortedNumericDocValues |
getSortedNumericDocValues(java.lang.String field)
Returns
SortedNumericDocValues for this field, or
null if no SortedNumericDocValues were indexed for
this field. |
SortedSetDocValues |
getSortedSetDocValues(java.lang.String field)
Returns
SortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. |
Fields |
getTermVectors(int docID)
Retrieve term vectors for this document, or null if
term vectors were not indexed.
|
int |
maxDoc()
Returns one greater than the largest possible document number.
|
int |
numDocs()
Returns the number of documents in this index.
|
Terms |
terms(java.lang.String field)
Returns the
Terms index for this field, or null if it has none. |
java.lang.String |
toString() |
static LeafReader |
unwrap(LeafReader reader)
Get the wrapped instance by
reader as long as this reader is
an instance of FilterLeafReader. |
docFreq, getContext, getCoreCacheHelper, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, totalTermFreqclose, decRef, document, document, ensureOpen, equals, getReaderCacheHelper, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, tryIncRefprotected final LeafReader in
public FilterLeafReader(LeafReader in)
Construct a FilterLeafReader based on the specified base reader.
Note that base reader is closed if this FilterLeafReader is closed.
in - specified base reader.public static LeafReader unwrap(LeafReader reader)
reader as long as this reader is
an instance of FilterLeafReader.public Bits getLiveDocs()
LeafReaderBits representing live (not
deleted) docs. A set bit indicates the doc ID has not
been deleted. If this method returns null it means
there are no deleted documents (all documents are
live).
The returned instance has been safely published for
use by multiple threads without additional
synchronization.getLiveDocs in class LeafReaderpublic FieldInfos getFieldInfos()
LeafReaderFieldInfos describing all fields in
this reader.
Note: Implementations should cache the FieldInfos
instance returned by this method such that subsequent
calls to this method return the same instance.getFieldInfos in class LeafReaderpublic PointValues getPointValues(java.lang.String field) throws java.io.IOException
LeafReaderPointValues used for numeric or
spatial searches for the given field, or null if there
are no point fields.getPointValues in class LeafReaderjava.io.IOExceptionpublic Fields getTermVectors(int docID) throws java.io.IOException
IndexReadergetTermVectors in class IndexReaderjava.io.IOExceptionpublic int numDocs()
IndexReadernumDocs in class IndexReaderpublic int maxDoc()
IndexReadermaxDoc in class IndexReaderpublic void document(int docID,
StoredFieldVisitor visitor)
throws java.io.IOException
IndexReaderIndexReader.document(int). If you want to load a subset, use
DocumentStoredFieldVisitor.document in class IndexReaderjava.io.IOExceptionprotected void doClose()
throws java.io.IOException
IndexReaderdoClose in class IndexReaderjava.io.IOExceptionpublic Terms terms(java.lang.String field) throws java.io.IOException
LeafReaderTerms index for this field, or null if it has none.terms in class LeafReaderjava.io.IOExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic NumericDocValues getNumericDocValues(java.lang.String field) throws java.io.IOException
LeafReaderNumericDocValues for this field, or
null if no numeric doc values were indexed for
this field. The returned instance should only be
used by a single thread.getNumericDocValues in class LeafReaderjava.io.IOExceptionpublic BinaryDocValues getBinaryDocValues(java.lang.String field) throws java.io.IOException
LeafReaderBinaryDocValues for this field, or
null if no binary doc values were indexed for
this field. The returned instance should only be
used by a single thread.getBinaryDocValues in class LeafReaderjava.io.IOExceptionpublic SortedDocValues getSortedDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedDocValues in class LeafReaderjava.io.IOExceptionpublic SortedNumericDocValues getSortedNumericDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedNumericDocValues for this field, or
null if no SortedNumericDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedNumericDocValues in class LeafReaderjava.io.IOExceptionpublic SortedSetDocValues getSortedSetDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedSetDocValues in class LeafReaderjava.io.IOExceptionpublic NumericDocValues getNormValues(java.lang.String field) throws java.io.IOException
LeafReaderNumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. The returned instance should only be
used by a single thread.getNormValues in class LeafReaderjava.io.IOExceptionpublic LeafMetaData getMetaData()
LeafReadergetMetaData in class LeafReaderpublic void checkIntegrity()
throws java.io.IOException
LeafReaderNote that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
checkIntegrity in class LeafReaderjava.io.IOExceptionpublic LeafReader getDelegate()
LeafReader.Copyright © 2000–2025 The Apache Software Foundation. All rights reserved.