org.apache.lucene.codecs.blockterms

## Class VariableGapTermsIndexWriter

- java.lang.Object
- - org.apache.lucene.codecs.blockterms.TermsIndexWriterBase
  - - org.apache.lucene.codecs.blockterms.VariableGapTermsIndexWriter

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class VariableGapTermsIndexWriter
      extends TermsIndexWriterBase

  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. This terms index only supports unsigned byte term sort order (unicode codepoint order when the bytes are UTF8).
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `VariableGapTermsIndexWriter.EveryNOrDocFreqTermSelector` Sets an index term when docFreq >= docFreqThresh, or every interval terms.
    `static class` | `VariableGapTermsIndexWriter.EveryNTermSelector` Same policy as `FixedGapTermsIndexWriter`
    `static class` | `VariableGapTermsIndexWriter.IndexTermSelector` Hook for selecting which terms should be placed in the terms index.

    - ### Nested classes/interfaces inherited from class org.apache.lucene.codecs.blockterms.TermsIndexWriterBase

      `TermsIndexWriterBase.FieldWriter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected IndexOutput` | `out`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VariableGapTermsIndexWriter(SegmentWriteState state, VariableGapTermsIndexWriter.IndexTermSelector policy)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TermsIndexWriterBase.FieldWriter` | `addField(FieldInfo field, long termsFilePointer)`
    `void` | `close()`
    `protected int` | `indexedTermPrefixLength(BytesRef priorTerm, BytesRef indexedTerm)` NOTE: if your codec does not sort in unicode code point order, you must override this method, to simply return indexedTerm.length.

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

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

- - ### Field Detail

    - #### out

          protected IndexOutput out

  - ### Constructor Detail

    - #### VariableGapTermsIndexWriter

          public VariableGapTermsIndexWriter(SegmentWriteState state,
                                             VariableGapTermsIndexWriter.IndexTermSelector policy)
                                      throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### addField

          public TermsIndexWriterBase.FieldWriter addField(FieldInfo field,
                                                           long termsFilePointer)
                                                    throws IOException

      Specified by:
        `addField` in class `TermsIndexWriterBase`
      Throws:
        `IOException`

    - #### indexedTermPrefixLength

          protected int indexedTermPrefixLength(BytesRef priorTerm,
                                                BytesRef indexedTerm)

      NOTE: if your codec does not sort in unicode code point order, you must override this method, to simply return indexedTerm.length.

    - #### close

          public void close()
                     throws IOException

      Throws:
        `IOException`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.