Term (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, class: Term

Package org.apache.lucene.index

# Class Term

java.lang.Object
org.apache.lucene.index.Term

All Implemented Interfaces:
  `Comparable<Term>`, `Accountable`

public final class Term extends Object implements Comparable<Term>, Accountable
A Term represents a word from text. This is the unit of search. It is composed of two elements, the text of the word, as a string, and the name of the field that the text occurred in.

Note that terms may represent more than words from text fields, but also things like dates, email addresses, urls, etc.

- ## Field Summary

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Term(String fld)`
  Constructs a Term with the given field and empty text.
  `Term(String fld, String text)`
  Constructs a Term with the given field and text.
  `Term(String fld, BytesRef bytes)`
  Constructs a Term with the given field and bytes.
  `Term(String fld, BytesRefBuilder bytesBuilder)`
  Constructs a Term with the given field and the bytes from a builder.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BytesRef`
  `bytes()`
  Returns the bytes of this term, these should not be modified.
  `int`
  `compareTo(Term other)`
  Compares two terms, returning a negative integer if this term belongs before the argument, zero if this term is equal to the argument, and a positive integer if this term belongs after the argument.
  `boolean`
  `equals(Object obj)`
  `String`
  `field()`
  Returns the field of this term.
  `int`
  `hashCode()`
  `long`
  `ramBytesUsed()`
  Returns an estimate of the JVM heap memory used by this object in bytes.
  `String`
  `text()`
  Returns the text of this term.
  `String`
  `toString()`
  `static String`
  `toString(BytesRef termText)`
  Returns human-readable form of the term text.

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

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

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

- ## Constructor Details

  - ### Term

    public Term(String fld, BytesRef bytes)
    Constructs a Term with the given field and bytes.

    Note that a null field or null bytes value results in undefined behavior for most Lucene APIs that accept a Term parameter.

    The provided BytesRef is copied when it is non null.

  - ### Term

    public Term(String fld, BytesRefBuilder bytesBuilder)
    Constructs a Term with the given field and the bytes from a builder.

    Note that a null field value results in undefined behavior for most Lucene APIs that accept a Term parameter.

  - ### Term

    public Term(String fld, String text)
    Constructs a Term with the given field and text.

    Note that a null field or null text value results in undefined behavior for most Lucene APIs that accept a Term parameter.

  - ### Term

    public Term(String fld)
    Constructs a Term with the given field and empty text. This serves two purposes: 1) reuse of a Term with the same field. 2) pattern for a query.
    Parameters:
      `fld` - field's name

- ## Method Details

  - ### field

    public String field()
    Returns the field of this term. The field indicates the part of a document which this term came from.

  - ### text

    public String text()
    Returns the text of this term. In the case of words, this is simply the text of the word. In the case of dates and other types, this is an encoding of the object as a string.

  - ### toString

    public static String toString(BytesRef termText)
    Returns human-readable form of the term text. If the term is not unicode, the raw bytes will be printed instead.

  - ### bytes

    public BytesRef bytes()
    Returns the bytes of this term, these should not be modified.

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### compareTo

    public int compareTo(Term other)
    Compares two terms, returning a negative integer if this term belongs before the argument, zero if this term is equal to the argument, and a positive integer if this term belongs after the argument.

    The ordering of terms is first by field, then by text.

    Specified by:
      `compareTo` in interface `Comparable<Term>`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### ramBytesUsed

    public long ramBytesUsed()
    Description copied from interface: `Accountable`
    Returns an estimate of the JVM heap memory used by this object in bytes. The method name uses "ram" for historical reasons; only JVM heap memory should be reported. Off-heap resources such as memory-mapped files or native direct buffers should not be included. Negative values are illegal.
    Specified by:
      `ramBytesUsed` in interface `Accountable`