Interface IndexDictionary
- All Known Implementing Classes:
FSTDictionary
public interface IndexDictionary
Immutable stateless index dictionary kept in RAM.
Implementations must be immutable.
Use IndexDictionary.Builder
to build the IndexDictionary
.
Create a stateful IndexDictionary.Browser
to seek a term in this IndexDictionary
and get its corresponding block file pointer to the terms block file.
There is a single implementation of this interface, FSTDictionary
. However this
interface allows you to plug easily a new kind of index dictionary to experiment and improve the
existing one.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
StatefulIndexDictionary.Browser
to seek a term in thisIndexDictionary
and get its corresponding block file pointer in the block file.static interface
Supplier for a new statefulIndexDictionary.Browser
created on the immutableIndexDictionary
.static interface
Builds an immutableIndexDictionary
. -
Method Summary
Modifier and TypeMethodDescriptionbrowser()
Creates a newIndexDictionary.Browser
.void
write
(DataOutput output, BlockEncoder blockEncoder) Writes this dictionary to the provided output.
-
Method Details
-
write
Writes this dictionary to the provided output.- Parameters:
blockEncoder
- TheBlockEncoder
for specific encoding of this index dictionary; or null if none.- Throws:
IOException
-
browser
Creates a newIndexDictionary.Browser
.- Throws:
IOException
-