IndexDictionary.Builder (Lucene 10.5.0 codecs API)
Description: declaration: package: org.apache.lucene.codecs.uniformsplit, interface: IndexDictionary, interface: Builder

Package org.apache.lucene.codecs.uniformsplit

# Interface IndexDictionary.Builder

All Known Implementing Classes:
  `FSTDictionary.Builder`

Enclosing interface:
  `IndexDictionary`

public static interface IndexDictionary.Builder
Builds an immutable `IndexDictionary`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(BytesRef blockKey, long blockFilePointer)`
  Adds a [block key - block file pointer] entry to the dictionary.
  `IndexDictionary`
  `build()`
  Builds the immutable `IndexDictionary` for the added entries.

- ## Method Details

  - ### add

    void add(BytesRef blockKey, long blockFilePointer) throws IOException
    Adds a [block key - block file pointer] entry to the dictionary.

    The Uniform Split technique adds block keys in the dictionary. See `BlockReader` and `TermBytes` for more info about block key and minimal distinguishing prefix (MDP).

    All block keys are added in strictly increasing order of the block file pointers, this allows long encoding optimizations such as with `PositiveIntOutputs` for `FST`.

    Parameters:
      `blockKey` - The block key which is the minimal distinguishing prefix (MDP) of the first term of a block.
      `blockFilePointer` - Non-negative file pointer to the start of the block in the block file.
    Throws:
      `IOException`

  - ### build

    IndexDictionary build() throws IOException
    Builds the immutable `IndexDictionary` for the added entries.
    Throws:
      `IOException`