org.apache.lucene.codecs.uniformsplit

## Class UniformSplitTerms

- java.lang.Object
- - org.apache.lucene.index.Terms
  - - org.apache.lucene.codecs.uniformsplit.UniformSplitTerms

All Implemented Interfaces:
  Accountable

Direct Known Subclasses:
  STUniformSplitTerms

    public class UniformSplitTerms
    extends Terms
    implements Accountable

`Terms` based on the Uniform Split technique.

The `index dictionary` is lazy loaded only when `TermsEnum.seekCeil(org.apache.lucene.util.BytesRef)` or `TermsEnum.seekExact(org.apache.lucene.util.BytesRef)` are called (it is not loaded for a direct terms enumeration).

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

### Field Summary

Fields
`protected BlockDecoder` `blockDecoder`
`protected IndexInput` `blockInput`
`protected DictionaryBrowserSupplier` `dictionaryBrowserSupplier`
`protected FieldMetadata` `fieldMetadata`
`protected PostingsReaderBase` `postingsReader`

### Fields inherited from class org.apache.lucene.index.Terms

`EMPTY_ARRAY`

### Constructor Summary

Constructors
`protected` `UniformSplitTerms(IndexInput blockInput, FieldMetadata fieldMetadata, PostingsReaderBase postingsReader, BlockDecoder blockDecoder, DictionaryBrowserSupplier dictionaryBrowserSupplier)`
`protected` `UniformSplitTerms(IndexInput dictionaryInput, IndexInput blockInput, FieldMetadata fieldMetadata, PostingsReaderBase postingsReader, BlockDecoder blockDecoder)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `checkIntersectAutomatonType(CompiledAutomaton automaton)`
`long` `getDictionaryRamBytesUsed()`
`int` `getDocCount()`
`BytesRef` `getMax()`
`long` `getSumDocFreq()`
`long` `getSumTotalTermFreq()`
`boolean` `hasFreqs()`
`boolean` `hasOffsets()`
`boolean` `hasPayloads()`
`boolean` `hasPositions()`
`TermsEnum` `intersect(CompiledAutomaton compiled, BytesRef startTerm)`
`TermsEnum` `iterator()`
`long` `ramBytesUsed()`
`long` `ramBytesUsedWithoutDictionary()`
`long` `size()`

### Methods inherited from class org.apache.lucene.index.Terms

`getMin, getStats`

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

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

### Methods inherited from interface org.apache.lucene.util.Accountable

`getChildResources`

### Field Detail

#### blockInput

    protected final IndexInput blockInput

#### fieldMetadata

    protected final FieldMetadata fieldMetadata

#### postingsReader

    protected final PostingsReaderBase postingsReader

#### blockDecoder

    protected final BlockDecoder blockDecoder

#### dictionaryBrowserSupplier

    protected final DictionaryBrowserSupplier dictionaryBrowserSupplier

### Constructor Detail

#### UniformSplitTerms

    protected UniformSplitTerms(IndexInput dictionaryInput,
                                IndexInput blockInput,
                                FieldMetadata fieldMetadata,
                                PostingsReaderBase postingsReader,
                                BlockDecoder blockDecoder)
                         throws IOException

Parameters:
  `blockDecoder` - Optional block decoder, may be null if none. It can be used for decompression or decryption.
Throws:
  `IOException`

#### UniformSplitTerms

    protected UniformSplitTerms(IndexInput blockInput,
                                FieldMetadata fieldMetadata,
                                PostingsReaderBase postingsReader,
                                BlockDecoder blockDecoder,
                                DictionaryBrowserSupplier dictionaryBrowserSupplier)

Parameters:
  `blockDecoder` - Optional block decoder, may be null if none. It can be used for decompression or decryption.

### Method Detail

#### iterator

    public TermsEnum iterator()
                       throws IOException

Specified by:
  `iterator` in class `Terms`
Throws:
  `IOException`

#### intersect

    public TermsEnum intersect(CompiledAutomaton compiled,
                               BytesRef startTerm)
                        throws IOException

Overrides:
  `intersect` in class `Terms`
Throws:
  `IOException`

#### checkIntersectAutomatonType

    protected void checkIntersectAutomatonType(CompiledAutomaton automaton)

#### getMax

    public BytesRef getMax()

Overrides:
  `getMax` in class `Terms`

#### size

    public long size()

Specified by:
  `size` in class `Terms`

#### getSumTotalTermFreq

    public long getSumTotalTermFreq()

Specified by:
  `getSumTotalTermFreq` in class `Terms`

#### getSumDocFreq

    public long getSumDocFreq()

Specified by:
  `getSumDocFreq` in class `Terms`

#### getDocCount

    public int getDocCount()

Specified by:
  `getDocCount` in class `Terms`

#### hasFreqs

    public boolean hasFreqs()

Specified by:
  `hasFreqs` in class `Terms`

#### hasOffsets

    public boolean hasOffsets()

Specified by:
  `hasOffsets` in class `Terms`

#### hasPositions

    public boolean hasPositions()

Specified by:
  `hasPositions` in class `Terms`

#### hasPayloads

    public boolean hasPayloads()

Specified by:
  `hasPayloads` in class `Terms`

#### ramBytesUsed

    public long ramBytesUsed()

Specified by:
  `ramBytesUsed` in interface `Accountable`

#### ramBytesUsedWithoutDictionary

    public long ramBytesUsedWithoutDictionary()

#### getDictionaryRamBytesUsed

    public long getDictionaryRamBytesUsed()