Package org.apache.lucene.codecs.uniformsplit.sharedterms

# Class STBlockReader

java.lang.Object
org.apache.lucene.index.TermsEnum
org.apache.lucene.index.BaseTermsEnum
org.apache.lucene.codecs.uniformsplit.BlockReader
org.apache.lucene.codecs.uniformsplit.sharedterms.STBlockReader

All Implemented Interfaces:
  `Accountable`, `BytesRefIterator`

Direct Known Subclasses:
  `STMergingBlockReader`

public class STBlockReader extends BlockReader
Reads terms blocks with the Shared Terms format.

See Also:
  - `STBlockWriter`
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.TermsEnum

  `TermsEnum.SeekStatus`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final FieldInfos`
  `fieldInfos`

  ### Fields inherited from class org.apache.lucene.codecs.uniformsplit.BlockReader

  `blockDecoder, blockFirstLineStart, blockHeader, blockHeaderReader, blockInput, blockLine, blockLineReader, blockReadBuffer, blockStartFP, dictionaryBrowser, dictionaryBrowserSupplier, fieldMetadata, forcedTerm, lineIndexInBlock, postingsReader, scratchBlockBytes, scratchBlockLine, scratchTermState, termState, termStateForced, termStateSerializer, termStatesReadBuffer`

  ### Fields inherited from class org.apache.lucene.index.TermsEnum

  `EMPTY`

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `STBlockReader(IndexDictionary.BrowserSupplier dictionaryBrowserSupplier, IndexInput blockInput, PostingsReaderBase postingsReader, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, FieldInfos fieldInfos)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected STBlockLine.Serializer`
  `createBlockLineSerializer()`
  `protected boolean`
  `isBeyondLastTerm(BytesRef searchedTerm, long blockStartFP)`
  Indicates whether the searched term is beyond the last term of the field.
  `BytesRef`
  `next()`
  `protected BytesRef`
  `nextTerm()`
  Moves to the next term line and reads it, whichever are the corresponding fields.
  `protected BlockTermState`
  `readTermState()`
  Reads the `BlockTermState` on the current line for this reader's field.
  `TermsEnum.SeekStatus`
  `seekCeil(BytesRef searchedTerm)`
  `boolean`
  `seekExact(BytesRef searchedTerm)`

  ### Methods inherited from class org.apache.lucene.codecs.uniformsplit.BlockReader

  `clearTermState, compareToMiddleAndJump, createBlockHeaderSerializer, createDeltaBaseTermStateSerializer, decodeBlockBytesIfNeeded, docFreq, getOrCreateDictionaryBrowser, impacts, initializeBlockReadLazily, initializeHeader, isCurrentTerm, newCorruptIndexException, ord, postings, ramBytesUsed, readHeader, readLineInBlock, readTermStateIfNotRead, seekExact, seekExact, seekInBlock, seekInBlock, term, termState, totalTermFreq`

  ### Methods inherited from class org.apache.lucene.index.BaseTermsEnum

  `attributes, prepareSeekExact`

  ### Methods inherited from class org.apache.lucene.index.TermsEnum

  `postings`

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

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

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

- ## Field Details

  - ### fieldInfos

    protected final FieldInfos fieldInfos

- ## Constructor Details

  - ### STBlockReader

    public STBlockReader(IndexDictionary.BrowserSupplier dictionaryBrowserSupplier, IndexInput blockInput, PostingsReaderBase postingsReader, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, FieldInfos fieldInfos) throws IOException
    Throws:
      `IOException`

- ## Method Details

  - ### next

    public BytesRef next() throws IOException
    Specified by:
      `next` in interface `BytesRefIterator`
    Overrides:
      `next` in class `BlockReader`
    Throws:
      `IOException`

  - ### nextTerm

    protected BytesRef nextTerm() throws IOException
    Moves to the next term line and reads it, whichever are the corresponding fields. The term details are not read yet. They will be read only when needed with `BlockReader.readTermStateIfNotRead()`.
    Overrides:
      `nextTerm` in class `BlockReader`
    Returns:
      The read term bytes.
    Throws:
      `IOException`

  - ### seekCeil

    public TermsEnum.SeekStatus seekCeil(BytesRef searchedTerm) throws IOException
    Overrides:
      `seekCeil` in class `BlockReader`
    Throws:
      `IOException`

  - ### seekExact

    public boolean seekExact(BytesRef searchedTerm) throws IOException
    Overrides:
      `seekExact` in class `BlockReader`
    Throws:
      `IOException`

  - ### isBeyondLastTerm

    protected boolean isBeyondLastTerm(BytesRef searchedTerm, long blockStartFP)
    Description copied from class: `BlockReader`
    Indicates whether the searched term is beyond the last term of the field.
    Overrides:
      `isBeyondLastTerm` in class `BlockReader`
    Parameters:
      `blockStartFP` - The current block start file pointer.

  - ### createBlockLineSerializer

    protected STBlockLine.Serializer createBlockLineSerializer()
    Overrides:
      `createBlockLineSerializer` in class `BlockReader`

  - ### readTermState

    protected BlockTermState readTermState() throws IOException
    Reads the `BlockTermState` on the current line for this reader's field.
    Overrides:
      `readTermState` in class `BlockReader`
    Returns:
      The `BlockTermState`; or null if the term does not occur for the field.
    Throws:
      `IOException`