# All Classes and Interfaces

Class
Description
BlockDecoder
Decodes the raw bytes of a block when the index is read, according to the `BlockEncoder` used during the writing of the index.
BlockEncoder
Encodes the raw bytes of a block when the index is written.
BlockEncoder.WritableBytes
Writable byte buffer.
BlockHeader
Block header containing block metadata.
BlockHeader.Serializer
Reads/writes block header.
BlockLine
One term block line.
BlockLine.Serializer
Reads/writes block lines with terms encoded incrementally inside a block.
BlockReader
Seeks the block corresponding to a given term, read the block bytes, and scans the block terms.
BlockTermsReader
Handles a terms dict, but decouples all details of doc/freqs/positions reading to an instance of `PostingsReaderBase`.
BlockTermsWriter
Writes terms dict, block-encoding (column stride) each term's metadata for each set of terms between two index terms.
BlockTreeOrdsPostingsFormat
Uses `OrdsBlockTreeTermsWriter` with `Lucene103PostingsWriter`.
BlockWriter
Writes blocks in the block file.
BloomFilterFactory
Class used to create index-time `FuzzySet` appropriately configured for each field.
BloomFilteringPostingsFormat
A `PostingsFormat` useful for low doc-frequency fields such as primary keys.
DefaultBloomFilterFactory
Default policy is to allocate a bitset with 10% saturation given a unique term per document.
DeltaBaseTermStateSerializer
`TermState` serializer which encodes each file pointer as a delta relative to a base file pointer.
DirectPostingsFormat
Wraps `Lucene103PostingsFormat` format for on-disk storage, but then at read time loads and stores all terms and postings directly in RAM as byte[], int[].
FieldMetadata
Metadata and stats for one field in the index.
FieldMetadata.Serializer
Reads/writes field metadata.
FieldMetadataTermState
Pair of `FieldMetadata` and `BlockTermState` for a specific field.
FixedGapTermsIndexReader
TermsIndexReader for simple every Nth terms indexes.
FixedGapTermsIndexWriter
Selects every Nth term as and index term, and hold term bytes (mostly) fully expanded in memory.
FlatBitVectorsScorer
A bit vector scorer for scoring byte vectors.
FSTDictionary
Immutable stateless `FST`-based index dictionary kept in memory.
FSTDictionary.BrowserSupplier
Provides stateful `FSTDictionary.Browser` to seek in the `FSTDictionary`.
FSTDictionary.Builder
Builds an immutable `FSTDictionary`.
FSTPostingsFormat
FST term dict + Lucene50PBF
FSTTermsReader
FST-based terms dictionary reader.
FSTTermsWriter
FST-based term dict, using metadata as FST output.
FuzzySet
A class used to represent a set of many, potentially large, values (e.g.
FuzzySet.ContainsResult
Result from `FuzzySet.contains(BytesRef)`: can never return definitively YES (always MAYBE), but can sometimes definitely return NO.
HashFunction
Base class for hashing functions that can be referred to by name.
HnswBitVectorsFormat
Encodes bit vector values into an associated graph connecting the documents having values.
IndexDictionary
Immutable stateless index dictionary kept in RAM.
IndexDictionary.Browser
Stateful `IndexDictionary.Browser` to seek a term in this `IndexDictionary` and get its corresponding block file pointer in the block file.
IndexDictionary.BrowserSupplier
Supplier for a new stateful `IndexDictionary.Browser` created on the immutable `IndexDictionary`.
IndexDictionary.Builder
Builds an immutable `IndexDictionary`.
IntersectBlockReader
The "intersect" `TermsEnum` response to `UniformSplitTerms.intersect(CompiledAutomaton, BytesRef)`, intersecting the terms with an automaton.
IntersectBlockReader.BlockIteration
Block iteration order.
MurmurHash64
This is a very fast, non-cryptographic hash suitable for general hash-based lookup.
OrdsBlockTreeTermsReader
See `OrdsBlockTreeTermsWriter`.
OrdsBlockTreeTermsWriter
This is just like `Lucene103BlockTreeTermsWriter`, except it also stores a version per term, and adds a method to its TermsEnum implementation to seekExact only if the version is >= the specified version.
OrdsSegmentTermsEnum
Iterates through terms in this field.
RamUsageUtil
Utility methods to estimate the RAM usage of objects.
SimpleTextCodec
plain text index format.
SimpleTextCompoundFormat
plain text compound format.
SimpleTextFieldInfosFormat
plaintext field infos format
SimpleTextKnnVectorsFormat
For debugging, curiosity, transparency only!! Do not use this codec in production.
SimpleTextKnnVectorsReader
Reads vector values from a simple text format.
SimpleTextKnnVectorsWriter
Writes vector-valued fields in a plain text format
SimpleTextLiveDocsFormat
reads/writes plaintext live docs
SimpleTextNormsFormat
plain-text norms format.
SimpleTextNormsFormat.SimpleTextNormsConsumer
Writes plain-text norms.
SimpleTextNormsFormat.SimpleTextNormsProducer
Reads plain-text norms.
SimpleTextPointsFormat
For debugging, curiosity, transparency only!! Do not use this codec in production.
SimpleTextSegmentInfoFormat
plain text segments file format.
SimpleTextStoredFieldsFormat
plain text stored fields format.
SimpleTextStoredFieldsReader
reads plaintext stored fields
SimpleTextStoredFieldsWriter
Writes plain-text stored fields.
SimpleTextTermVectorsFormat
plain text term vectors format.
SimpleTextTermVectorsReader
Reads plain-text term vectors.
SimpleTextTermVectorsWriter
Writes plain-text term vectors.
STBlockLine
Represents a term and its details stored in the `BlockTermState`.
STBlockLine.Serializer
Reads block lines encoded incrementally, with all fields corresponding to the term of the line.
STBlockReader
Reads terms blocks with the Shared Terms format.
STBlockWriter
Writes terms blocks with the Shared Terms format.
STIntersectBlockReader
The "intersect" `TermsEnum` response to `STUniformSplitTerms.intersect(CompiledAutomaton, BytesRef)`, intersecting the terms with an automaton.
STMergingBlockReader
`TermsEnum` used when merging segments, to enumerate the terms of an input segment and get all the fields `TermState`s of each term.
STUniformSplitPostingsFormat
`PostingsFormat` based on the Uniform Split technique and supporting Shared Terms.
STUniformSplitTerms
Extends `UniformSplitTerms` for a shared-terms dictionary, with all the fields of a term in the same block line.
STUniformSplitTermsReader
A block-based terms index and dictionary based on the Uniform Split technique, and sharing all the fields terms in the same dictionary, with all the fields of a term in the same block line.
STUniformSplitTermsWriter
Extends `UniformSplitTermsWriter` by sharing all the fields terms in the same dictionary and by writing all the fields of a term in the same block line.
TermBytes
Term of a block line.
TermsIndexReaderBase
`BlockTermsReader` interacts with an instance of this class to manage its terms index.
TermsIndexReaderBase.FieldIndexEnum
Similar to TermsEnum, except, the only "metadata" it reports for a given indexed term is the long fileOffset into the main terms dictionary file.
TermsIndexWriterBase
Base class for terms index implementations to plug into `BlockTermsWriter`.
UniformSplitPostingsFormat
`PostingsFormat` based on the Uniform Split technique.
UniformSplitTerms
`Terms` based on the Uniform Split technique.
UniformSplitTermsReader
A block-based terms index and dictionary based on the Uniform Split technique.
UniformSplitTermsWriter
A block-based terms index and dictionary that assigns terms to nearly uniform length blocks.
UnionFieldMetadataBuilder
Builds a `FieldMetadata` that is the union of multiple `FieldMetadata`.
VariableGapTermsIndexReader
See `VariableGapTermsIndexWriter`
VariableGapTermsIndexWriter
Selects index terms according to provided pluggable `VariableGapTermsIndexWriter.IndexTermSelector`, and stores them in a prefix trie that's loaded entirely in RAM stored as an FST.
VariableGapTermsIndexWriter.EveryNOrDocFreqTermSelector
Sets an index term when docFreq >= docFreqThresh, or every interval terms.
VariableGapTermsIndexWriter.EveryNTermSelector
Same policy as `FixedGapTermsIndexWriter`
VariableGapTermsIndexWriter.IndexTermSelector
Hook for selecting which terms should be placed in the terms index.