Package org.apache.lucene.codecs

# Class PostingsReaderBase

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `Lucene912PostingsReader`

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`