Class FSTDictionary.Builder
- java.lang.Object
-
- org.apache.lucene.codecs.uniformsplit.FSTDictionary.Builder
-
- All Implemented Interfaces:
IndexDictionary.Builder
- Enclosing class:
- FSTDictionary
public static class FSTDictionary.Builder extends Object implements IndexDictionary.Builder
Builds an immutableFSTDictionary.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected FSTCompiler<Long>fstCompilerprotected IntsRefBuilderscratchInts
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(BytesRef blockKey, long blockFilePointer)Adds a [block key - block file pointer] entry to the dictionary.FSTDictionarybuild()Builds the immutableIndexDictionaryfor the added entries.
-
-
-
Field Detail
-
fstCompiler
protected final FSTCompiler<Long> fstCompiler
-
scratchInts
protected final IntsRefBuilder scratchInts
-
-
Constructor Detail
-
Builder
public Builder() throws IOException- Throws:
IOException
-
-
Method Detail
-
add
public void add(BytesRef blockKey, long blockFilePointer) throws IOException
Description copied from interface:IndexDictionary.BuilderAdds a [block key - block file pointer] entry to the dictionary.The Uniform Split technique adds block keys in the dictionary. See
BlockReaderandTermBytesfor 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
PositiveIntOutputsforFST.- Specified by:
addin interfaceIndexDictionary.Builder- 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
public FSTDictionary build() throws IOException
Description copied from interface:IndexDictionary.BuilderBuilds the immutableIndexDictionaryfor the added entries.- Specified by:
buildin interfaceIndexDictionary.Builder- Throws:
IOException
-
-