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 String` | `NAME` |
    `static String` | `TERMS_BLOCKS_EXTENSION` | Extension of the file containing the terms blocks for each field and the fields metadata.
    `static String` | `TERMS_DICTIONARY_EXTENSION` | Extension of the file containing the terms dictionary (the FST "trie").
    `static 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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### 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 Detail

    - #### 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 Detail

    - #### 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`