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 and Description
`BlockTermsReader(TermsIndexReaderBase indexReader, Directory dir, FieldInfos fieldInfos, SegmentInfo info, PostingsReaderBase postingsReader, IOContext context, int termsCacheSize, String segmentSuffix)`

### Method Summary

Methods
`void` `close()`
`Iterator<String>` `iterator()`
`int` `size()`
`Terms` `terms(String field)`

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

`getUniqueTermCount`

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

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

### Constructor Detail

#### BlockTermsReader

    public BlockTermsReader(TermsIndexReaderBase indexReader,
                    Directory dir,
                    FieldInfos fieldInfos,
                    SegmentInfo info,
                    PostingsReaderBase postingsReader,
                    IOContext context,
                    int termsCacheSize,
                    String segmentSuffix)
                     throws IOException

Throws:
  `IOException`

### Method Detail

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

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