PostingsReaderBase (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.codecs, class: PostingsReaderBase

Package org.apache.lucene.codecs

# Class PostingsReaderBase

java.lang.Object
org.apache.lucene.codecs.PostingsReaderBase

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `Lucene104PostingsReader`

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 of `PostingsEnum` and `ImpactsEnum` instances. It provides an IndexInput (termsIn) where this class may read any previously stored data that it had written in its corresponding `PostingsWriterBase` 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

  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 term
  `abstract ImpactsEnum`
  `impacts(FieldInfo fieldInfo, BlockTermState state, int flags)`
  Return a `ImpactsEnum` that computes impacts with `scorer`.
  `abstract void`
  `init(IndexInput termsIn, SegmentReadState state)`
  Performs any initialization, such as reading and verifying the header from the provided terms dictionary `IndexInput`.
  `abstract BlockTermState`
  `newTermState()`
  Return a newly created empty TermState
  `abstract PostingsEnum`
  `postings(FieldInfo fieldInfo, BlockTermState state, PostingsEnum reuse, int flags)`
  Must fully consume state, since after this call that TermState may be reused.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PostingsReaderBase

    protected PostingsReaderBase()
    Sole constructor. (For invocation by subclass constructors, typically implicit.)

- ## Method Details

  - ### 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 dictionary `IndexInput`.
    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
    Throws:
      `IOException`
    See Also:
      - `PostingsWriterBase.encodeTerm(org.apache.lucene.store.DataOutput, org.apache.lucene.index.FieldInfo, org.apache.lucene.codecs.BlockTermState, boolean)`

  - ### 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 a `ImpactsEnum` that computes impacts with `scorer`.
    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 interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException`