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 Details

    • EMPTY_ARRAY

      public static final Terms[] EMPTY_ARRAY
      Zero-length array of Terms.
  • Constructor Details

    • Terms

      protected Terms()
      Sole constructor. (For invocation by subclass constructors, typically implicit.)
  • Method Details

    • getTerms

      public static Terms getTerms(LeafReader reader, String field) throws IOException
      Returns the Terms index for this field, or EMPTY if it has none.
      Returns:
      terms instance, or an empty instance if field does not exist in this reader
      Throws:
      IOException - if an I/O error occurs.
    • 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.

      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. 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. 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. 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