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`