Package org.apache.lucene.codecs
Class PostingsReaderBase
- java.lang.Object
-
- org.apache.lucene.codecs.PostingsReaderBase
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
Lucene40PostingsReader
,Lucene41PostingsReader
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 ofDocsEnum
andDocsAndPositionsEnum
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.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
close()
abstract void
decodeTerm(long[] longs, DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute)
Actually decode metadata for next termabstract DocsEnum
docs(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsEnum reuse, int flags)
Must fully consume state, since after this call that TermState may be reused.abstract DocsAndPositionsEnum
docsAndPositions(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsAndPositionsEnum reuse, int flags)
Must fully consume state, since after this call that TermState may be reused.abstract void
init(IndexInput termsIn)
Performs any initialization, such as reading and verifying the header from the provided terms dictionaryIndexInput
.abstract BlockTermState
newTermState()
Return a newly created empty TermStateabstract long
ramBytesUsed()
Returns approximate RAM bytes used
-
-
-
Method Detail
-
init
public abstract void init(IndexInput termsIn) 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(long[] longs, DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute) throws IOException
Actually decode metadata for next term
-
docs
public abstract DocsEnum docs(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsEnum reuse, int flags) throws IOException
Must fully consume state, since after this call that TermState may be reused.- Throws:
IOException
-
docsAndPositions
public abstract DocsAndPositionsEnum docsAndPositions(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsAndPositionsEnum reuse, int flags) throws IOException
Must fully consume state, since after this call that TermState may be reused.- Throws:
IOException
-
ramBytesUsed
public abstract long ramBytesUsed()
Returns approximate RAM bytes used
-
close
public abstract void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
-