# Package org.apache.lucene.codecs.blockterms

package org.apache.lucene.codecs.blockterms
Pluggable term index / block terms dictionary implementations.

- Classes
  Class
  Description
  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.