# Package org.apache.lucene.codecs.blockterms

Pluggable term index / block terms dictionary implementations.

See: Description

Class Summary
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.
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.
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`.
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.

## Package org.apache.lucene.codecs.blockterms Description

Pluggable term index / block terms dictionary implementations.