org.apache.lucene.index

## Class Terms

- java.lang.Object
- - org.apache.lucene.index.Terms

- Direct Known Subclasses:
    FieldReader, FilterLeafReader.FilterTerms, MultiTerms

      public abstract class Terms
      extends Object

  Access to the terms in a specific field. See `Fields`.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Terms[]` | `EMPTY_ARRAY` Zero-length array of `Terms`.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Terms()` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract int` | `getDocCount()` Returns the number of documents that have at least one term for this field, or -1 if this measure isn't stored by the codec.
    `BytesRef` | `getMax()` Returns the largest term (in lexicographic order) in the field.
    `BytesRef` | `getMin()` Returns the smallest term (in lexicographic order) in the field.
    `Object` | `getStats()` Expert: returns additional information about this Terms instance for debugging purposes.
    `abstract long` | `getSumDocFreq()` Returns the sum of `TermsEnum.docFreq()` for all terms in this field, or -1 if this measure isn't stored by the codec.
    `abstract long` | `getSumTotalTermFreq()` Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field, or -1 if this measure isn't stored by the codec (or if this fields omits term freq and positions).
    `abstract boolean` | `hasFreqs()` Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).
    `abstract boolean` | `hasOffsets()` Returns true if documents in this field store offsets.
    `abstract boolean` | `hasPayloads()` Returns true if documents in this field store payloads.
    `abstract 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`.
    `abstract TermsEnum` | `iterator()` Returns an iterator that will step through all terms.
    `abstract long` | `size()` Returns the number of terms for this field, or -1 if this measure isn't stored by the codec.

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

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

- - ### Field Detail

    - #### EMPTY_ARRAY

          public static final Terms[] EMPTY_ARRAY

      Zero-length array of `Terms`.

  - ### Constructor Detail

    - #### Terms

          protected Terms()

      Sole constructor. (For invocation by subclass constructors, typically implicit.)

  - ### Method Detail

    - #### iterator

          public abstract TermsEnum iterator()
                                      throws IOException

      Returns an iterator that will step through all terms. This method will not return null.
      Throws:
        `IOException`

    - #### intersect

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

      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

      .

      NOTE: the terms dictionary is free to return arbitrary terms as long as the resulted visited docs is the same. E.g., `BlockTreeTermsWriter` creates auto-prefix terms during indexing to reduce the number of terms visited.

      Throws:
        `IOException`

    - #### size

          public abstract long size()
                             throws IOException

      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.
      Throws:
        `IOException`

    - #### getSumTotalTermFreq

          public abstract long getSumTotalTermFreq()
                                            throws IOException

      Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field, or -1 if this measure isn't stored by the codec (or if this fields omits term freq and positions). Note that, just like other term measures, this measure does not take deleted documents into account.
      Throws:
        `IOException`

    - #### getSumDocFreq

          public abstract long getSumDocFreq()
                                      throws IOException

      Returns the sum of `TermsEnum.docFreq()` for all terms in 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.
      Throws:
        `IOException`

    - #### getDocCount

          public abstract int getDocCount()
                                   throws IOException

      Returns the number of documents that have at least one term 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.
      Throws:
        `IOException`

    - #### hasFreqs

          public abstract boolean hasFreqs()

      Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).

    - #### hasOffsets

          public abstract boolean hasOffsets()

      Returns true if documents in this field store offsets.

    - #### hasPositions

          public abstract boolean hasPositions()

      Returns true if documents in this field store positions.

    - #### hasPayloads

          public abstract boolean hasPayloads()

      Returns true if documents in this field store payloads.

    - #### getMin

          public BytesRef getMin()
                          throws IOException

      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.
      Throws:
        `IOException`

    - #### getMax

          public BytesRef getMax()
                          throws IOException

      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.
      Throws:
        `IOException`

    - #### getStats

          public Object getStats()
                          throws IOException

      Expert: returns additional information about this Terms instance for debugging purposes.
      Throws:
        `IOException`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.