Package org.apache.lucene.codecs.uniformsplit.sharedterms

# Class STUniformSplitPostingsFormat

java.lang.Object
org.apache.lucene.codecs.PostingsFormat
org.apache.lucene.codecs.uniformsplit.UniformSplitPostingsFormat
org.apache.lucene.codecs.uniformsplit.sharedterms.STUniformSplitPostingsFormat

All Implemented Interfaces:
  `NamedSPILoader.NamedSPI`

public class STUniformSplitPostingsFormat extends UniformSplitPostingsFormat
`PostingsFormat` based on the Uniform Split technique and supporting Shared Terms.

Shared Terms means the terms of all fields are stored in the same block file, with multiple fields associated to one term (one block line). In the same way, the dictionary trie is also shared between all fields. This highly reduces the memory required by the field dictionary compared to having one separate dictionary per field.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `NAME`
  `static final String`
  `TERMS_BLOCKS_EXTENSION`
  Extension of the file containing the terms blocks for each field and the fields metadata.
  `static final String`
  `TERMS_DICTIONARY_EXTENSION`
  Extension of the file containing the terms dictionary (the FST "trie").
  `static final int`
  `VERSION_CURRENT`

  ### Fields inherited from class org.apache.lucene.codecs.uniformsplit.UniformSplitPostingsFormat

  `blockDecoder, blockEncoder, deltaNumLines, dictionaryOnHeap, targetNumBlockLines, VERSION_ENCODABLE_FIELDS_METADATA, VERSION_START`

  ### Fields inherited from class org.apache.lucene.codecs.PostingsFormat

  `EMPTY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `STUniformSplitPostingsFormat()`
  Creates a `STUniformSplitPostingsFormat` with default settings.
  ``
  `STUniformSplitPostingsFormat(int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)`
  `protected`
  `STUniformSplitPostingsFormat(String name, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected FieldsProducer`
  `createUniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder)`
  `protected FieldsConsumer`
  `createUniformSplitTermsWriter(PostingsWriterBase postingsWriter, SegmentWriteState state, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder)`

  ### Methods inherited from class org.apache.lucene.codecs.uniformsplit.UniformSplitPostingsFormat

  `fieldsConsumer, fieldsProducer`

  ### Methods inherited from class org.apache.lucene.codecs.PostingsFormat

  `availablePostingsFormats, forName, getName, reloadPostingsFormats, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### TERMS_DICTIONARY_EXTENSION

    public static final String TERMS_DICTIONARY_EXTENSION
    Extension of the file containing the terms dictionary (the FST "trie").
    See Also:
      - Constant Field Values

  - ### TERMS_BLOCKS_EXTENSION

    public static final String TERMS_BLOCKS_EXTENSION
    Extension of the file containing the terms blocks for each field and the fields metadata.
    See Also:
      - Constant Field Values

  - ### VERSION_CURRENT

    public static final int VERSION_CURRENT
    See Also:
      - Constant Field Values

  - ### NAME

    public static final String NAME
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### STUniformSplitPostingsFormat

    public STUniformSplitPostingsFormat()
    Creates a `STUniformSplitPostingsFormat` with default settings.

  - ### STUniformSplitPostingsFormat

    public STUniformSplitPostingsFormat(int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)
    See Also:
      - `UniformSplitPostingsFormat(int, int, BlockEncoder, BlockDecoder, boolean)`

  - ### STUniformSplitPostingsFormat

    protected STUniformSplitPostingsFormat(String name, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)

- ## Method Details

  - ### createUniformSplitTermsWriter

    protected FieldsConsumer createUniformSplitTermsWriter(PostingsWriterBase postingsWriter, SegmentWriteState state, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder) throws IOException
    Overrides:
      `createUniformSplitTermsWriter` in class `UniformSplitPostingsFormat`
    Throws:
      `IOException`

  - ### createUniformSplitTermsReader

    protected FieldsProducer createUniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder) throws IOException
    Overrides:
      `createUniformSplitTermsReader` in class `UniformSplitPostingsFormat`
    Throws:
      `IOException`