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`