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 voidcheckIntegrity()Checks consistency of this reader.Directorydirectory()Returns the directory this index resides in.protected voiddoClose()Implements close.voiddocument(int docID, StoredFieldVisitor visitor)Expert: visits the fields of a stored document, for custom processing/loading of each field.IndexReader.CacheHelpergetCoreCacheHelper()Optional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this leaf regardless of deletions.DocValuesProducergetDocValuesReader()Expert: retrieve underlying DocValuesProducerFieldInfosgetFieldInfos()Get theFieldInfosdescribing all fields in this reader.StoredFieldsReadergetFieldsReader()Expert: retrieve underlying StoredFieldsReaderBitsgetHardLiveDocs()Returns the live docs that are not hard-deleted.BitsgetLiveDocs()Returns theBitsrepresenting live (not deleted) docs.LeafMetaDatagetMetaData()Return metadata about this leaf.NormsProducergetNormsReader()Expert: retrieve underlying NormsProducerPointsReadergetPointsReader()Expert: retrieve underlying PointsReaderFieldsProducergetPostingsReader()Expert: retrieve underlying FieldsProducerIndexReader.CacheHelpergetReaderCacheHelper()Optional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader.SegmentCommitInfogetSegmentInfo()Return the SegmentInfoPerCommit of the segment this reader is reading.StringgetSegmentName()Return the name of the segment this reader is reading.FieldsgetTermVectors(int docID)Retrieve term vectors for this document, or null if term vectors were not indexed.TermVectorsReadergetTermVectorsReader()Expert: retrieve underlying TermVectorsReaderKnnVectorsReadergetVectorReader()Expert: retrieve underlying VectorReaderintmaxDoc()Returns one greater than the largest possible document number.protected voidnotifyReaderClosedListeners()For test framework use only.intnumDocs()Returns the number of documents in this index.StringtoString()-
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:LeafReaderReturns theBitsrepresenting 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:
getLiveDocsin classLeafReader
-
doClose
protected void doClose() throws IOExceptionDescription copied from class:IndexReaderImplements close.- Overrides:
doClosein classCodecReader- Throws:
IOException
-
getFieldInfos
public FieldInfos getFieldInfos()
Description copied from class:LeafReaderGet theFieldInfosdescribing 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:
getFieldInfosin classLeafReader
-
numDocs
public int numDocs()
Description copied from class:IndexReaderReturns 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:
numDocsin classIndexReader
-
maxDoc
public int maxDoc()
Description copied from class:IndexReaderReturns 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:
maxDocin classIndexReader
-
document
public final void document(int docID, StoredFieldVisitor visitor) throws IOExceptionDescription copied from class:IndexReaderExpert: 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:
documentin classCodecReader- Throws:
IOException
-
getTermVectors
public final Fields getTermVectors(int docID) throws IOException
Description copied from class:IndexReaderRetrieve 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:
getTermVectorsin classCodecReader- Throws:
IOException
-
getTermVectorsReader
public TermVectorsReader getTermVectorsReader()
Description copied from class:CodecReaderExpert: retrieve underlying TermVectorsReader- Specified by:
getTermVectorsReaderin classCodecReader
-
getFieldsReader
public StoredFieldsReader getFieldsReader()
Description copied from class:CodecReaderExpert: retrieve underlying StoredFieldsReader- Specified by:
getFieldsReaderin classCodecReader
-
getPointsReader
public PointsReader getPointsReader()
Description copied from class:CodecReaderExpert: retrieve underlying PointsReader- Specified by:
getPointsReaderin classCodecReader
-
getNormsReader
public NormsProducer getNormsReader()
Description copied from class:CodecReaderExpert: retrieve underlying NormsProducer- Specified by:
getNormsReaderin classCodecReader
-
getDocValuesReader
public DocValuesProducer getDocValuesReader()
Description copied from class:CodecReaderExpert: retrieve underlying DocValuesProducer- Specified by:
getDocValuesReaderin classCodecReader
-
getVectorReader
public KnnVectorsReader getVectorReader()
Description copied from class:CodecReaderExpert: retrieve underlying VectorReader- Specified by:
getVectorReaderin classCodecReader
-
getPostingsReader
public FieldsProducer getPostingsReader()
Description copied from class:CodecReaderExpert: retrieve underlying FieldsProducer- Specified by:
getPostingsReaderin 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 IOExceptionDescription copied from class:IndexReaderFor test framework use only.- Overrides:
notifyReaderClosedListenersin classIndexReader- Throws:
IOException
-
getReaderCacheHelper
public IndexReader.CacheHelper getReaderCacheHelper()
Description copied from class:IndexReaderOptional method: Return aIndexReader.CacheHelperthat 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
nullindicates 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:
getReaderCacheHelperin classIndexReader
-
getCoreCacheHelper
public IndexReader.CacheHelper getCoreCacheHelper()
Description copied from class:LeafReaderOptional method: Return aIndexReader.CacheHelperthat 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
nullindicates 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:
getCoreCacheHelperin classLeafReader
-
getMetaData
public LeafMetaData getMetaData()
Description copied from class:LeafReaderReturn metadata about this leaf.- Specified by:
getMetaDatain 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 IOExceptionDescription copied from class:LeafReaderChecks 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:
checkIntegrityin classCodecReader- Throws:
IOException
-
-