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`