# All Classes

- All Classes Interface Summary Class Summary Enum Summary
  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 `Lucene99PostingsWriter`.
  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 `Lucene99PostingsFormat` 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.
  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.
  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 `Lucene90BlockTreeTermsWriter`, 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.