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
`protected FieldInfos` `fieldInfos`

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

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

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

`EMPTY`

### Constructor Summary

Constructors
Constructor and Description
`STBlockReader(Supplier<IndexDictionary.Browser> dictionaryBrowserSupplier, IndexInput blockInput, PostingsReaderBase postingsReader, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, FieldInfos fieldInfos)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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, decodeBlockBytesIfNeeded, docFreq, getOrCreateDictionaryBrowser, impacts, initializeBlockReadLazily, initializeHeader, isCurrentTerm, ord, postings, ramBytesUsed, readHeader, readLineInBlock, readTermStateIfNotRead, seekExact, seekExact, seekInBlock, seekInBlock, term, termState, totalTermFreq`

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

`attributes`

### 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 Detail

#### fieldInfos

    protected final FieldInfos fieldInfos

### Constructor Detail

#### STBlockReader

    public STBlockReader(Supplier<IndexDictionary.Browser> dictionaryBrowserSupplier,
                         IndexInput blockInput,
                         PostingsReaderBase postingsReader,
                         FieldMetadata fieldMetadata,
                         BlockDecoder blockDecoder,
                         FieldInfos fieldInfos)
                  throws IOException

Throws:
  `IOException`

### Method Detail

#### 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`
  `blockStartFP` - The current block start file pointer.

#### 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`