Package org.apache.lucene.codecs.blockterms

# Class BlockTermsReader

java.lang.Object
org.apache.lucene.index.Fields
org.apache.lucene.codecs.FieldsProducer
org.apache.lucene.codecs.blockterms.BlockTermsReader

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

public class BlockTermsReader extends FieldsProducer
Handles a terms dict, but decouples all details of doc/freqs/positions reading to an instance of `PostingsReaderBase`. This class is reusable for codecs that use a different format for docs/freqs/positions (though codecs are also free to make their own terms dict impl).

This class also interacts with an instance of `TermsIndexReaderBase`, to abstract away the specific implementation of the terms dict index.

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

- ## Field Summary

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

  `EMPTY_ARRAY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkIntegrity()`
  `void`
  `close()`
  `Iterator<String>`
  `iterator()`
  `int`
  `size()`
  `Terms`
  `terms(String field)`
  `String`
  `toString()`

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

  `getMergeInstance`

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

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

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

  `forEach, spliterator`

- ## Constructor Details

  - ### BlockTermsReader

    public BlockTermsReader(TermsIndexReaderBase indexReader, PostingsReaderBase postingsReader, SegmentReadState state) throws IOException
    Throws:
      `IOException`

- ## Method Details

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

  - ### iterator

    public Iterator<String> iterator()
    Specified by:
      `iterator` in interface `Iterable<String>`
    Specified by:
      `iterator` in class `Fields`

  - ### terms

    public Terms terms(String field) throws IOException
    Specified by:
      `terms` in class `Fields`
    Throws:
      `IOException`

  - ### size

    public int size()
    Specified by:
      `size` in class `Fields`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### checkIntegrity

    public void checkIntegrity() throws IOException
    Specified by:
      `checkIntegrity` in class `FieldsProducer`
    Throws:
      `IOException`