Class SegmentReader
- java.lang.Object
-
- org.apache.lucene.index.IndexReader
-
- org.apache.lucene.index.LeafReader
-
- org.apache.lucene.index.CodecReader
-
- org.apache.lucene.index.SegmentReader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class SegmentReader extends CodecReader
IndexReader implementation over a single segment.Instances pointing to the same segment (but with different deletes, etc) may share the same core data.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkIntegrity()
Checks consistency of this reader.Directory
directory()
Returns the directory this index resides in.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.IndexReader.CacheHelper
getCoreCacheHelper()
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this leaf regardless of deletions.DocValuesProducer
getDocValuesReader()
Expert: retrieve underlying DocValuesProducerFieldInfos
getFieldInfos()
Get theFieldInfos
describing all fields in this reader.StoredFieldsReader
getFieldsReader()
Expert: retrieve underlying StoredFieldsReaderBits
getHardLiveDocs()
Returns the live docs that are not hard-deleted.Bits
getLiveDocs()
Returns theBits
representing live (not deleted) docs.LeafMetaData
getMetaData()
Return metadata about this leaf.NormsProducer
getNormsReader()
Expert: retrieve underlying NormsProducerPointsReader
getPointsReader()
Expert: retrieve underlying PointsReaderFieldsProducer
getPostingsReader()
Expert: retrieve underlying FieldsProducerIndexReader.CacheHelper
getReaderCacheHelper()
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this reader.SegmentCommitInfo
getSegmentInfo()
Return the SegmentInfoPerCommit of the segment this reader is reading.String
getSegmentName()
Return the name of the segment this reader is reading.Fields
getTermVectors(int docID)
Retrieve term vectors for this document, or null if term vectors were not indexed.TermVectorsReader
getTermVectorsReader()
Expert: retrieve underlying TermVectorsReaderKnnVectorsReader
getVectorReader()
Expert: retrieve underlying VectorReaderint
maxDoc()
Returns one greater than the largest possible document number.protected void
notifyReaderClosedListeners()
For test framework use only.int
numDocs()
Returns the number of documents in this index.String
toString()
-
Methods inherited from class org.apache.lucene.index.CodecReader
getBinaryDocValues, getByteVectorValues, getFloatVectorValues, getNormValues, getNumericDocValues, getPointValues, getSortedDocValues, getSortedNumericDocValues, getSortedSetDocValues, searchNearestVectors, searchNearestVectors, storedFields, terms, termVectors
-
Methods inherited from class org.apache.lucene.index.LeafReader
docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, searchNearestVectors, searchNearestVectors, totalTermFreq
-
Methods inherited from class org.apache.lucene.index.IndexReader
close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, tryIncRef
-
-
-
-
Method Detail
-
getLiveDocs
public Bits getLiveDocs()
Description copied from class:LeafReader
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 classLeafReader
-
doClose
protected void doClose() throws IOException
Description copied from class:IndexReader
Implements close.- Overrides:
doClose
in classCodecReader
- Throws:
IOException
-
getFieldInfos
public FieldInfos getFieldInfos()
Description copied from class:LeafReader
Get theFieldInfos
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.
- Specified by:
getFieldInfos
in classLeafReader
-
numDocs
public int numDocs()
Description copied from class:IndexReader
Returns the number of documents in this index.NOTE: This operation may run in O(maxDoc). Implementations that can't return this number in constant-time should cache it.
- 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
public final void document(int docID, StoredFieldVisitor visitor) throws IOException
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
.- Overrides:
document
in classCodecReader
- Throws:
IOException
-
getTermVectors
public final Fields getTermVectors(int docID) throws IOException
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).- Overrides:
getTermVectors
in classCodecReader
- Throws:
IOException
-
getTermVectorsReader
public TermVectorsReader getTermVectorsReader()
Description copied from class:CodecReader
Expert: retrieve underlying TermVectorsReader- Specified by:
getTermVectorsReader
in classCodecReader
-
getFieldsReader
public StoredFieldsReader getFieldsReader()
Description copied from class:CodecReader
Expert: retrieve underlying StoredFieldsReader- Specified by:
getFieldsReader
in classCodecReader
-
getPointsReader
public PointsReader getPointsReader()
Description copied from class:CodecReader
Expert: retrieve underlying PointsReader- Specified by:
getPointsReader
in classCodecReader
-
getNormsReader
public NormsProducer getNormsReader()
Description copied from class:CodecReader
Expert: retrieve underlying NormsProducer- Specified by:
getNormsReader
in classCodecReader
-
getDocValuesReader
public DocValuesProducer getDocValuesReader()
Description copied from class:CodecReader
Expert: retrieve underlying DocValuesProducer- Specified by:
getDocValuesReader
in classCodecReader
-
getVectorReader
public KnnVectorsReader getVectorReader()
Description copied from class:CodecReader
Expert: retrieve underlying VectorReader- Specified by:
getVectorReader
in classCodecReader
-
getPostingsReader
public FieldsProducer getPostingsReader()
Description copied from class:CodecReader
Expert: retrieve underlying FieldsProducer- Specified by:
getPostingsReader
in classCodecReader
-
getSegmentName
public String getSegmentName()
Return the name of the segment this reader is reading.
-
getSegmentInfo
public SegmentCommitInfo getSegmentInfo()
Return the SegmentInfoPerCommit of the segment this reader is reading.
-
directory
public Directory directory()
Returns the directory this index resides in.
-
notifyReaderClosedListeners
protected void notifyReaderClosedListeners() throws IOException
Description copied from class:IndexReader
For test framework use only.- Overrides:
notifyReaderClosedListeners
in classIndexReader
- Throws:
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
-
getCoreCacheHelper
public IndexReader.CacheHelper getCoreCacheHelper()
Description copied from class:LeafReader
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this leaf regardless of deletions. Two readers that have the same data but different sets of deleted documents or doc values updates may be considered equal. Consider usingIndexReader.getReaderCacheHelper()
if you need deletions or dv updates to be taken into account.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 leaf reader.- Specified by:
getCoreCacheHelper
in classLeafReader
-
getMetaData
public LeafMetaData getMetaData()
Description copied from class:LeafReader
Return metadata about this leaf.- Specified by:
getMetaData
in classLeafReader
-
getHardLiveDocs
public Bits getHardLiveDocs()
Returns the live docs that are not hard-deleted. This is an expert API to be used with soft-deletes to filter out document that hard deleted for instance due to aborted documents or to distinguish soft and hard deleted documents ie. a rolled back tombstone.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
checkIntegrity
public void checkIntegrity() throws IOException
Description copied from class:LeafReader
Checks consistency of this reader.Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
- Overrides:
checkIntegrity
in classCodecReader
- Throws:
IOException
-
-