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

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
  Modifier and Type
  Field
  Description
  `protected final IndexInput`
  `blockInput`
  `protected final IndexInput`
  `dictionaryInput`
  `protected final Map<String,UniformSplitTerms>`
  `fieldToTermsMap`
  `protected final PostingsReaderBase`
  `postingsReader`
  `protected final Collection<String>`
  `sortedFieldNames`
  `protected final int`
  `version`

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

  `EMPTY_ARRAY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap)`
  `protected`
  `UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, FieldMetadata.Serializer fieldMetadataReader, String codecName, int versionStart, int versionCurrent, String termsBlocksExtension, String dictionaryExtension)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkIntegrity()`
  `void`
  `close()`
  `protected IndexDictionary.BrowserSupplier`
  `createDictionaryBrowserSupplier(SegmentReadState state, IndexInput dictionaryInput, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, boolean dictionaryOnHeap)`
  `protected void`
  `fillFieldMap(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, IndexInput dictionaryInput, IndexInput blockInput, Collection<FieldMetadata> fieldMetadataCollection, FieldInfos fieldInfos)`
  `Iterator<String>`
  `iterator()`
  `protected Collection<FieldMetadata>`
  `readEncodedFieldsMetadata(int numFields, DataInput metadataInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)`
  `protected Collection<FieldMetadata>`
  `readFieldsMetadata(IndexInput indexInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)`
  `protected Collection<FieldMetadata>`
  `readUnencodedFieldsMetadata(int numFields, DataInput metadataInput, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs)`
  `protected 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 java.lang.Iterable

  `forEach, spliterator`

- ## Field Details

  - ### postingsReader

    protected final PostingsReaderBase postingsReader

  - ### version

    protected final int version

  - ### blockInput

    protected final IndexInput blockInput

  - ### dictionaryInput

    protected final IndexInput dictionaryInput

  - ### fieldToTermsMap

    protected final Map<String,UniformSplitTerms> fieldToTermsMap

  - ### sortedFieldNames

    protected final Collection<String> sortedFieldNames

- ## Constructor Details

  - ### UniformSplitTermsReader

    public UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap) throws IOException
    Parameters:
      `blockDecoder` - Optional block decoder, may be null if none. It can be used for decompression or decryption.
      `dictionaryOnHeap` - Whether to force loading the terms dictionary on-heap. By default it is kept off-heap without impact on performance. If block encoding/decoding is used, then the dictionary is always loaded on-heap whatever this parameter value is.
    Throws:
      `IOException`

  - ### UniformSplitTermsReader

    protected UniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, FieldMetadata.Serializer fieldMetadataReader, String codecName, int versionStart, int versionCurrent, String termsBlocksExtension, String dictionaryExtension) throws IOException
    Throws:
      `IOException`
    See Also:
      - `UniformSplitTermsReader(PostingsReaderBase, SegmentReadState, BlockDecoder, boolean)`

- ## Method Details

  - ### fillFieldMap

    protected void fillFieldMap(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder, boolean dictionaryOnHeap, IndexInput dictionaryInput, IndexInput blockInput, Collection<FieldMetadata> fieldMetadataCollection, FieldInfos fieldInfos) throws IOException
    Throws:
      `IOException`

  - ### createDictionaryBrowserSupplier

    protected IndexDictionary.BrowserSupplier createDictionaryBrowserSupplier(SegmentReadState state, IndexInput dictionaryInput, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, boolean dictionaryOnHeap) throws IOException
    Throws:
      `IOException`

  - ### readFieldsMetadata

    protected Collection<FieldMetadata> readFieldsMetadata(IndexInput indexInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
    Parameters:
      `indexInput` - `IndexInput` must be positioned to the fields metadata details by calling `seekFieldsMetadata(IndexInput)` before this call.
      `blockDecoder` - Optional block decoder, may be null if none.
    Throws:
      `IOException`

  - ### readEncodedFieldsMetadata

    protected Collection<FieldMetadata> readEncodedFieldsMetadata(int numFields, DataInput metadataInput, BlockDecoder blockDecoder, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
    Throws:
      `IOException`

  - ### readUnencodedFieldsMetadata

    protected Collection<FieldMetadata> readUnencodedFieldsMetadata(int numFields, DataInput metadataInput, FieldInfos fieldInfos, FieldMetadata.Serializer fieldMetadataReader, int maxNumDocs) throws IOException
    Throws:
      `IOException`

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    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`

  - ### seekFieldsMetadata

    protected void seekFieldsMetadata(IndexInput indexInput) throws IOException
    Positions the given `IndexInput` at the beginning of the fields metadata.
    Throws:
      `IOException`