Package org.apache.lucene.codecs
Class PostingsReaderBase
- java.lang.Object
-
- org.apache.lucene.codecs.PostingsReaderBase
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
Lucene90PostingsReader
public abstract class PostingsReaderBase extends Object implements Closeable
The core terms dictionaries (BlockTermsReader, BlockTreeTermsReader) interact with a single instance of this class to manage creation ofPostingsEnum
andPostingsEnum
instances. It provides an IndexInput (termsIn) where this class may read any previously stored data that it had written in its correspondingPostingsWriterBase
at indexing time.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PostingsReaderBase()
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
checkIntegrity()
Checks consistency of this reader.abstract void
close()
abstract void
decodeTerm(DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute)
Actually decode metadata for next termabstract ImpactsEnum
impacts(FieldInfo fieldInfo, BlockTermState state, int flags)
Return aImpactsEnum
that computes impacts withscorer
.abstract void
init(IndexInput termsIn, SegmentReadState state)
Performs any initialization, such as reading and verifying the header from the provided terms dictionaryIndexInput
.abstract BlockTermState
newTermState()
Return a newly created empty TermStateabstract PostingsEnum
postings(FieldInfo fieldInfo, BlockTermState state, PostingsEnum reuse, int flags)
Must fully consume state, since after this call that TermState may be reused.
-
-
-
Method Detail
-
init
public abstract void init(IndexInput termsIn, SegmentReadState state) throws IOException
Performs any initialization, such as reading and verifying the header from the provided terms dictionaryIndexInput
.- Throws:
IOException
-
newTermState
public abstract BlockTermState newTermState() throws IOException
Return a newly created empty TermState- Throws:
IOException
-
decodeTerm
public abstract void decodeTerm(DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute) throws IOException
Actually decode metadata for next term
-
postings
public abstract PostingsEnum postings(FieldInfo fieldInfo, BlockTermState state, PostingsEnum reuse, int flags) throws IOException
Must fully consume state, since after this call that TermState may be reused.- Throws:
IOException
-
impacts
public abstract ImpactsEnum impacts(FieldInfo fieldInfo, BlockTermState state, int flags) throws IOException
Return aImpactsEnum
that computes impacts withscorer
.- Throws:
IOException
- See Also:
postings(FieldInfo, BlockTermState, PostingsEnum, int)
-
checkIntegrity
public abstract void checkIntegrity() throws IOException
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.
- Throws:
IOException
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
close
public abstract void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
-