org.apache.lucene.codecs.blocktree

## Class FieldReader

- java.lang.Object
- - org.apache.lucene.index.Terms
  - - org.apache.lucene.codecs.blocktree.FieldReader

All Implemented Interfaces:
  Accountable

    public final class FieldReader
    extends Terms
    implements Accountable

BlockTree's implementation of `Terms`.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Field Summary

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

`EMPTY_ARRAY`

### Method Summary

All Methods Instance Methods Concrete Methods
`Collection<Accountable>` `getChildResources()` Returns nested resources of this class.
`int` `getDocCount()` Returns the number of documents that have at least one term for this field.
`BytesRef` `getMax()` Returns the largest term (in lexicographic order) in the field.
`BytesRef` `getMin()` Returns the smallest term (in lexicographic order) in the field.
`Stats` `getStats()` For debugging -- used by CheckIndex too
`long` `getSumDocFreq()` Returns the sum of `TermsEnum.docFreq()` for all terms in this field.
`long` `getSumTotalTermFreq()` Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field.
`boolean` `hasFreqs()` Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).
`boolean` `hasOffsets()` Returns true if documents in this field store offsets.
`boolean` `hasPayloads()` Returns true if documents in this field store payloads.
`boolean` `hasPositions()` Returns true if documents in this field store positions.
`TermsEnum` `intersect(CompiledAutomaton compiled, BytesRef startTerm)` Returns a TermsEnum that iterates over all terms and documents that are accepted by the provided `CompiledAutomaton`.
`TermsEnum` `iterator()` Returns an iterator that will step through all terms.
`long` `ramBytesUsed()` Return the memory usage of this object in bytes.
`long` `size()` Returns the number of terms for this field, or -1 if this measure isn't stored by the codec.
`String` `toString()`

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

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

### Method Detail

#### getMin

    public BytesRef getMin()
                    throws IOException

Description copied from class: `Terms`
Returns the smallest term (in lexicographic order) in the field. Note that, just like other term measures, this measure does not take deleted documents into account. This returns null when there are no terms.

Overrides:
  `getMin` in class `Terms`
Throws:
  `IOException`

#### getMax

    public BytesRef getMax()
                    throws IOException

Description copied from class: `Terms`
Returns the largest term (in lexicographic order) in the field. Note that, just like other term measures, this measure does not take deleted documents into account. This returns null when there are no terms.

Overrides:
  `getMax` in class `Terms`
Throws:
  `IOException`

#### getStats

    public Stats getStats()
                   throws IOException

For debugging -- used by CheckIndex too

Overrides:
  `getStats` in class `Terms`
Throws:
  `IOException`

#### hasFreqs

    public boolean hasFreqs()

Description copied from class: `Terms`
Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).

Specified by:
  `hasFreqs` in class `Terms`

#### hasOffsets

    public boolean hasOffsets()

Description copied from class: `Terms`
Returns true if documents in this field store offsets.

Specified by:
  `hasOffsets` in class `Terms`

#### hasPositions

    public boolean hasPositions()

Description copied from class: `Terms`
Returns true if documents in this field store positions.

Specified by:
  `hasPositions` in class `Terms`

#### hasPayloads

    public boolean hasPayloads()

Description copied from class: `Terms`
Returns true if documents in this field store payloads.

Specified by:
  `hasPayloads` in class `Terms`

#### iterator

    public TermsEnum iterator()
                       throws IOException

Description copied from class: `Terms`
Returns an iterator that will step through all terms. This method will not return null.

Specified by:
  `iterator` in class `Terms`
Throws:
  `IOException`

#### size

    public long size()

Description copied from class: `Terms`
Returns the number of terms for this field, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `size` in class `Terms`

#### getSumTotalTermFreq

    public long getSumTotalTermFreq()

Description copied from class: `Terms`
Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getSumTotalTermFreq` in class `Terms`

#### getSumDocFreq

    public long getSumDocFreq()

Description copied from class: `Terms`
Returns the sum of `TermsEnum.docFreq()` for all terms in this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getSumDocFreq` in class `Terms`

#### getDocCount

    public int getDocCount()

Description copied from class: `Terms`
Returns the number of documents that have at least one term for this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getDocCount` in class `Terms`

#### intersect

    public TermsEnum intersect(CompiledAutomaton compiled,
                               BytesRef startTerm)
                        throws IOException

Description copied from class: `Terms`
Returns a TermsEnum that iterates over all terms and documents that are accepted by the provided `CompiledAutomaton`. If the `startTerm` is provided then the returned enum will only return terms `> startTerm`, but you still must call next() first to get to the first term. Note that the provided `startTerm` must be accepted by the automaton.

This is an expert low-level API and will only work for `NORMAL` compiled automata. To handle any compiled automata you should instead use `CompiledAutomaton.getTermsEnum(org.apache.lucene.index.Terms)` instead.

NOTE: the returned TermsEnum cannot seek

.

Overrides:
  `intersect` in class `Terms`
Throws:
  `IOException`

#### ramBytesUsed

    public long ramBytesUsed()

Description copied from interface: `Accountable`
Return the memory usage of this object in bytes. Negative values are illegal.

Specified by:
  `ramBytesUsed` in interface `Accountable`

#### getChildResources

    public Collection<Accountable> getChildResources()

Description copied from interface: `Accountable`
Returns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).

Specified by:
  `getChildResources` in interface `Accountable`
See Also:
  `Accountables`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`