public 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 overriding
IndexReader.getCoreCacheKey()
so that
CachingWrapperFilter
shares the same entries for this atomic reader
and the wrapped one. IndexReader.getCombinedCoreAndDeletesKey()
could be
overridden as well if the live docs
are not changed
either.
Modifier and Type | Class and Description |
---|---|
static class |
FilterLeafReader.FilterDocsAndPositionsEnum
Base class for filtering
DocsAndPositionsEnum implementations. |
static class |
FilterLeafReader.FilterDocsEnum
Base class for filtering
DocsEnum implementations. |
static class |
FilterLeafReader.FilterFields
Base class for filtering
Fields
implementations. |
static class |
FilterLeafReader.FilterTerms
Base class for filtering
Terms implementations. |
static class |
FilterLeafReader.FilterTermsEnum
Base class for filtering
TermsEnum implementations. |
LeafReader.CoreClosedListener
IndexReader.ReaderClosedListener
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 |
addCoreClosedListener(LeafReader.CoreClosedListener listener)
Expert: adds a CoreClosedListener to this reader's shared core
|
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.
|
Fields |
fields()
Returns
Fields for this reader. |
BinaryDocValues |
getBinaryDocValues(String field)
Returns
BinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. |
LeafReader |
getDelegate()
Returns the wrapped
LeafReader . |
Bits |
getDocsWithField(String field)
Returns a
Bits at the size of reader.maxDoc() ,
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. |
FieldInfos |
getFieldInfos()
Get the
FieldInfos describing all fields in
this reader. |
Bits |
getLiveDocs()
Returns the
Bits representing live (not
deleted) docs. |
NumericDocValues |
getNormValues(String field)
Returns
NumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. |
NumericDocValues |
getNumericDocValues(String field)
Returns
NumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. |
SortedDocValues |
getSortedDocValues(String field)
Returns
SortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. |
SortedNumericDocValues |
getSortedNumericDocValues(String field)
Returns
SortedNumericDocValues for this field, or
null if no SortedNumericDocValues were indexed for
this field. |
SortedSetDocValues |
getSortedSetDocValues(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.
|
void |
removeCoreClosedListener(LeafReader.CoreClosedListener listener)
Expert: removes a CoreClosedListener from this reader's shared core
|
String |
toString() |
static LeafReader |
unwrap(LeafReader reader)
Get the wrapped instance by
reader as long as this reader is
an instance of FilterLeafReader . |
addCoreClosedListenerAsReaderClosedListener, docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, removeCoreClosedListenerAsReaderClosedListener, termDocsEnum, termPositionsEnum, terms, totalTermFreq
addReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getCombinedCoreAndDeletesKey, getCoreCacheKey, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, removeReaderClosedListener, tryIncRef
protected 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 void addCoreClosedListener(LeafReader.CoreClosedListener listener)
LeafReader
addCoreClosedListener
in class LeafReader
public void removeCoreClosedListener(LeafReader.CoreClosedListener listener)
LeafReader
removeCoreClosedListener
in class LeafReader
public Bits getLiveDocs()
LeafReader
Bits
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 LeafReader
public FieldInfos getFieldInfos()
LeafReader
FieldInfos
describing all fields in
this reader.getFieldInfos
in class LeafReader
public Fields getTermVectors(int docID) throws IOException
IndexReader
getTermVectors
in class IndexReader
IOException
public int numDocs()
IndexReader
numDocs
in class IndexReader
public int maxDoc()
IndexReader
maxDoc
in class IndexReader
public void document(int docID, StoredFieldVisitor visitor) throws IOException
IndexReader
IndexReader.document(int)
. If you want to load a subset, use
DocumentStoredFieldVisitor
.document
in class IndexReader
IOException
protected void doClose() throws IOException
IndexReader
doClose
in class IndexReader
IOException
public Fields fields() throws IOException
LeafReader
Fields
for this reader.
This method will not return null.fields
in class LeafReader
IOException
public NumericDocValues getNumericDocValues(String field) throws IOException
LeafReader
NumericDocValues
for this field, or
null if no NumericDocValues
were indexed for
this field. The returned instance should only be
used by a single thread.getNumericDocValues
in class LeafReader
IOException
public BinaryDocValues getBinaryDocValues(String field) throws IOException
LeafReader
BinaryDocValues
for this field, or
null if no BinaryDocValues
were indexed for
this field. The returned instance should only be
used by a single thread.getBinaryDocValues
in class LeafReader
IOException
public SortedDocValues getSortedDocValues(String field) throws IOException
LeafReader
SortedDocValues
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 LeafReader
IOException
public SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException
LeafReader
SortedNumericDocValues
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 LeafReader
IOException
public SortedSetDocValues getSortedSetDocValues(String field) throws IOException
LeafReader
SortedSetDocValues
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 LeafReader
IOException
public NumericDocValues getNormValues(String field) throws IOException
LeafReader
NumericDocValues
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 LeafReader
IOException
public Bits getDocsWithField(String field) throws IOException
LeafReader
Bits
at the size of reader.maxDoc()
,
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. The
returned instance should only be used by a single threadgetDocsWithField
in class LeafReader
IOException
public void checkIntegrity() throws IOException
LeafReader
Note 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 LeafReader
IOException
public LeafReader getDelegate()
LeafReader
.Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.