Package org.apache.lucene.index
Class FilterAtomicReader
java.lang.Object
org.apache.lucene.index.IndexReader
org.apache.lucene.index.AtomicReader
org.apache.lucene.index.FilterAtomicReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
A
FilterAtomicReader
contains another AtomicReader, which it
uses as its basic source of data, possibly transforming the data along the
way or providing additional functionality. The class
FilterAtomicReader
itself simply implements all abstract methods
of IndexReader
with versions that pass all requests to the
contained index reader. Subclasses of FilterAtomicReader
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 FilterAtomicReader
does not change the
content the contained reader, you could consider overriding
IndexReader.getCoreCacheKey()
so that FieldCache
and
CachingWrapperFilter
share 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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Base class for filteringDocsAndPositionsEnum
implementations.static class
Base class for filteringDocsEnum
implementations.static class
Base class for filteringFields
implementations.static class
Base class for filteringTerms
implementations.static class
Base class for filteringTermsEnum
implementations.Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.ReaderClosedListener
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a FilterAtomicReader based on the specified base reader. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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()
ReturnsFields
for this reader.getBinaryDocValues
(String field) ReturnsBinaryDocValues
for this field, or null if noBinaryDocValues
were indexed for this field.getDocsWithField
(String field) Returns aBits
at the size ofreader.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.Get theFieldInfos
describing all fields in this reader.Returns theBits
representing live (not deleted) docs.getNormValues
(String field) ReturnsNumericDocValues
representing norms for this field, or null if noNumericDocValues
were indexed.getNumericDocValues
(String field) ReturnsNumericDocValues
for this field, or null if noNumericDocValues
were indexed for this field.getSortedDocValues
(String field) ReturnsSortedDocValues
for this field, or null if noSortedDocValues
were indexed for this field.getSortedSetDocValues
(String field) ReturnsSortedSetDocValues
for this field, or null if noSortedSetDocValues
were indexed for this field.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.toString()
Methods inherited from class org.apache.lucene.index.AtomicReader
docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, hasNorms, termDocsEnum, termPositionsEnum, terms, totalTermFreq
Methods inherited from class org.apache.lucene.index.IndexReader
addReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getCombinedCoreAndDeletesKey, getCoreCacheKey, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, open, open, open, open, open, registerParentReader, removeReaderClosedListener, tryIncRef
-
Field Details
-
in
The underlying AtomicReader.
-
-
Constructor Details
-
FilterAtomicReader
Construct a FilterAtomicReader based on the specified base reader.
Note that base reader is closed if this FilterAtomicReader is closed.
- Parameters:
in
- specified base reader.
-
-
Method Details
-
getLiveDocs
Description copied from class:AtomicReader
Returns theBits
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.- Specified by:
getLiveDocs
in classAtomicReader
-
getFieldInfos
Description copied from class:AtomicReader
Get theFieldInfos
describing all fields in this reader.- Specified by:
getFieldInfos
in classAtomicReader
-
getTermVectors
Description copied from class:IndexReader
Retrieve term vectors for this document, or null if term vectors were not indexed. The returned Fields instance acts like a single-document inverted index (the docID will be 0).- Specified by:
getTermVectors
in classIndexReader
- Throws:
IOException
-
numDocs
public int numDocs()Description copied from class:IndexReader
Returns the number of documents in this index.- Specified by:
numDocs
in classIndexReader
-
maxDoc
public int maxDoc()Description copied from class:IndexReader
Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index.- Specified by:
maxDoc
in classIndexReader
-
document
Description copied from class:IndexReader
Expert: visits the fields of a stored document, for custom processing/loading of each field. If you simply want to load all fields, useIndexReader.document(int)
. If you want to load a subset, useDocumentStoredFieldVisitor
.- Specified by:
document
in classIndexReader
- Throws:
IOException
-
doClose
Description copied from class:IndexReader
Implements close.- Specified by:
doClose
in classIndexReader
- Throws:
IOException
-
fields
Description copied from class:AtomicReader
ReturnsFields
for this reader. This method may return null if the reader has no postings.- Specified by:
fields
in classAtomicReader
- Throws:
IOException
-
toString
-
getNumericDocValues
Description copied from class:AtomicReader
ReturnsNumericDocValues
for this field, or null if noNumericDocValues
were indexed for this field. The returned instance should only be used by a single thread.- Specified by:
getNumericDocValues
in classAtomicReader
- Throws:
IOException
-
getBinaryDocValues
Description copied from class:AtomicReader
ReturnsBinaryDocValues
for this field, or null if noBinaryDocValues
were indexed for this field. The returned instance should only be used by a single thread.- Specified by:
getBinaryDocValues
in classAtomicReader
- Throws:
IOException
-
getSortedDocValues
Description copied from class:AtomicReader
ReturnsSortedDocValues
for this field, or null if noSortedDocValues
were indexed for this field. The returned instance should only be used by a single thread.- Specified by:
getSortedDocValues
in classAtomicReader
- Throws:
IOException
-
getSortedSetDocValues
Description copied from class:AtomicReader
ReturnsSortedSetDocValues
for this field, or null if noSortedSetDocValues
were indexed for this field. The returned instance should only be used by a single thread.- Specified by:
getSortedSetDocValues
in classAtomicReader
- Throws:
IOException
-
getNormValues
Description copied from class:AtomicReader
ReturnsNumericDocValues
representing norms for this field, or null if noNumericDocValues
were indexed. The returned instance should only be used by a single thread.- Specified by:
getNormValues
in classAtomicReader
- Throws:
IOException
-
getDocsWithField
Description copied from class:AtomicReader
Returns aBits
at the size ofreader.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 thread- Specified by:
getDocsWithField
in classAtomicReader
- Throws:
IOException
-