org.apache.lucene.codecs.uniformsplit

## Class UniformSplitTermsReader

- java.lang.Object
- - org.apache.lucene.index.Fields
  - - org.apache.lucene.codecs.FieldsProducer
    - - org.apache.lucene.codecs.uniformsplit.UniformSplitTermsReader

All Implemented Interfaces:
  Closeable, AutoCloseable, Iterable<String>, Accountable

Direct Known Subclasses:
  STUniformSplitTermsReader

    public class UniformSplitTermsReader
    extends FieldsProducer

A block-based terms index and dictionary based on the Uniform Split technique.

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

### Field Summary

Fields
`protected IndexInput` `blockInput`
`protected IndexInput` `dictionaryInput`
`protected Map<String,UniformSplitTerms>` `fieldToTermsMap`
`protected PostingsReaderBase` `postingsReader`
`protected Collection<String>` `sortedFieldNames`
`protected static int` `VERSION_START`

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

`EMPTY_ARRAY`

### Constructor Summary

Constructors
`` `UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder)`
`protected` `UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, String codecName, int versionStart, int versionCurrent, String termsBlocksExtension, String dictionaryExtension)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `checkIntegrity()`
`void` `close()`
`protected void` `fillFieldMap(PostingsReaderBase postingsReader, BlockDecoder blockDecoder, IndexInput dictionaryInput, IndexInput blockInput, Collection<FieldMetadata> fieldMetadataCollection, FieldInfos fieldInfos)`
`protected long` `getTermsRamBytesUsed()`
`Iterator<String>` `iterator()`
`protected static Collection<FieldMetadata>` `parseFieldsMetadata(IndexInput indexInput, FieldInfos fieldInfos)`
`long` `ramBytesUsed()`
`protected static void` `seekFieldsMetadata(IndexInput indexInput)` Positions the given `IndexInput` at the beginning of the fields metadata.
`int` `size()`
`Terms` `terms(String field)`

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

`getMergeInstance`

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

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### VERSION_START

    protected static final int VERSION_START

See Also:
  Constant Field Values

#### postingsReader

    protected final PostingsReaderBase postingsReader

#### blockInput

    protected final IndexInput blockInput

#### dictionaryInput

    protected final IndexInput dictionaryInput

#### fieldToTermsMap

    protected final Map<String,UniformSplitTerms> fieldToTermsMap

#### sortedFieldNames

    protected final Collection<String> sortedFieldNames

### Constructor Detail

#### UniformSplitTermsReader

    public UniformSplitTermsReader(PostingsReaderBase postingsReader,
                                   SegmentReadState state,
                                   BlockDecoder blockDecoder)
                            throws IOException

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

#### UniformSplitTermsReader

    protected UniformSplitTermsReader(PostingsReaderBase postingsReader,
                                      SegmentReadState state,
                                      BlockDecoder blockDecoder,
                                      String codecName,
                                      int versionStart,
                                      int versionCurrent,
                                      String termsBlocksExtension,
                                      String dictionaryExtension)
                               throws IOException

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

### Method Detail

#### fillFieldMap

    protected void fillFieldMap(PostingsReaderBase postingsReader,
                                BlockDecoder blockDecoder,
                                IndexInput dictionaryInput,
                                IndexInput blockInput,
                                Collection<FieldMetadata> fieldMetadataCollection,
                                FieldInfos fieldInfos)
                         throws IOException

Throws:
  `IOException`

#### parseFieldsMetadata

    protected static Collection<FieldMetadata> parseFieldsMetadata(IndexInput indexInput,
                                                                   FieldInfos fieldInfos)
                                                            throws IOException

Parameters:
  `indexInput` - `IndexInput` must be positioned to the fields metadata details by calling `seekFieldsMetadata(IndexInput)` before this call.
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in class `FieldsProducer`
Throws:
  `IOException`

#### checkIntegrity

    public void checkIntegrity()
                        throws IOException

Specified by:
  `checkIntegrity` in class `FieldsProducer`
Throws:
  `IOException`

#### iterator

    public Iterator<String> iterator()

Specified by:
  `iterator` in interface `Iterable<String>`
Specified by:
  `iterator` in class `Fields`

#### terms

    public Terms terms(String field)

Specified by:
  `terms` in class `Fields`

#### size

    public int size()

Specified by:
  `size` in class `Fields`

#### ramBytesUsed

    public long ramBytesUsed()

#### getTermsRamBytesUsed

    protected long getTermsRamBytesUsed()

#### seekFieldsMetadata

    protected static void seekFieldsMetadata(IndexInput indexInput)
                                      throws IOException

Positions the given `IndexInput` at the beginning of the fields metadata.

Throws:
  `IOException`