Package org.apache.lucene.queries.function.docvalues

# Class DocTermsIndexDocValues

java.lang.Object
org.apache.lucene.queries.function.FunctionValues
org.apache.lucene.queries.function.docvalues.DocTermsIndexDocValues

public abstract class DocTermsIndexDocValues extends FunctionValues
Serves as base class for FunctionValues based on DocTermsIndex.

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

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `DocTermsIndexDocValues.DocTermsIndexException`
  Custom Exception to be thrown when the DocTermsIndex for a field cannot be generated

  ## Nested classes/interfaces inherited from class org.apache.lucene.queries.function.FunctionValues

  `FunctionValues.ValueFiller`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final CharsRefBuilder`
  `spareChars`
  `protected final SortedDocValues`
  `termsIndex`
  `protected final MutableValueStr`
  `val`
  `protected final ValueSource`
  `vs`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `DocTermsIndexDocValues(ValueSource vs, LeafReaderContext context, String field)`
  `protected`
  `DocTermsIndexDocValues(ValueSource vs, SortedDocValues termsIndex)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `boolVal(int doc)`
  `boolean`
  `bytesVal(int doc, BytesRefBuilder target)`
  returns the bytes representation of the string val - TODO: should this return the indexed raw bytes not?
  `boolean`
  `exists(int doc)`
  Returns true if there is a value for this document
  `protected int`
  `getOrdForDoc(int doc)`
  `ValueSourceScorer`
  `getRangeScorer(LeafReaderContext readerContext, String lowerVal, String upperVal, boolean includeLower, boolean includeUpper)`
  Yields a `Scorer` that matches documents with values between the specified range, and that which produces scores equal to `FunctionValues.floatVal(int)`.
  `FunctionValues.ValueFiller`
  `getValueFiller()`
  `int`
  `numOrd()`
  `abstract Object`
  `objectVal(int doc)`
  Native Java Object representation of the value
  `int`
  `ordVal(int doc)`
  `String`
  `strVal(int doc)`
  `String`
  `toString(int doc)`
  `protected abstract String`
  `toTerm(String readableValue)`

  ### Methods inherited from class org.apache.lucene.queries.function.FunctionValues

  `byteVal, byteVal, byteVectorVal, cost, doubleVal, doubleVal, explain, floatVal, floatVal, floatVectorVal, getScorer, intVal, intVal, longVal, longVal, shortVal, shortVal, strVal`

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

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

- ## Field Details

  - ### termsIndex

    protected final SortedDocValues termsIndex

  - ### vs

    protected final ValueSource vs

  - ### val

    protected final MutableValueStr val

  - ### spareChars

    protected final CharsRefBuilder spareChars

- ## Constructor Details

  - ### DocTermsIndexDocValues

    public DocTermsIndexDocValues(ValueSource vs, LeafReaderContext context, String field) throws IOException
    Throws:
      `IOException`

  - ### DocTermsIndexDocValues

    protected DocTermsIndexDocValues(ValueSource vs, SortedDocValues termsIndex)

- ## Method Details

  - ### getOrdForDoc

    protected int getOrdForDoc(int doc) throws IOException
    Throws:
      `IOException`

  - ### toTerm

    protected abstract String toTerm(String readableValue)

  - ### exists

    public boolean exists(int doc) throws IOException
    Description copied from class: `FunctionValues`
    Returns true if there is a value for this document
    Overrides:
      `exists` in class `FunctionValues`
    Throws:
      `IOException`

  - ### ordVal

    public int ordVal(int doc) throws IOException
    Overrides:
      `ordVal` in class `FunctionValues`
    Parameters:
      `doc` - The doc to retrieve to sort ordinal for
    Returns:
      the sort ordinal for the specified doc TODO: Maybe we can just use intVal for this...
    Throws:
      `IOException`

  - ### numOrd

    public int numOrd()
    Overrides:
      `numOrd` in class `FunctionValues`
    Returns:
      the number of unique sort ordinals this instance has

  - ### bytesVal

    public boolean bytesVal(int doc, BytesRefBuilder target) throws IOException
    Description copied from class: `FunctionValues`
    returns the bytes representation of the string val - TODO: should this return the indexed raw bytes not?
    Overrides:
      `bytesVal` in class `FunctionValues`
    Throws:
      `IOException`

  - ### strVal

    public String strVal(int doc) throws IOException
    Overrides:
      `strVal` in class `FunctionValues`
    Throws:
      `IOException`

  - ### boolVal

    public boolean boolVal(int doc) throws IOException
    Overrides:
      `boolVal` in class `FunctionValues`
    Throws:
      `IOException`

  - ### objectVal

    public abstract Object objectVal(int doc) throws IOException
    Description copied from class: `FunctionValues`
    Native Java Object representation of the value
    Overrides:
      `objectVal` in class `FunctionValues`
    Throws:
      `IOException`

  - ### getRangeScorer

    public ValueSourceScorer getRangeScorer(LeafReaderContext readerContext, String lowerVal, String upperVal, boolean includeLower, boolean includeUpper) throws IOException
    Description copied from class: `FunctionValues`
    Yields a `Scorer` that matches documents with values between the specified range, and that which produces scores equal to `FunctionValues.floatVal(int)`.
    Overrides:
      `getRangeScorer` in class `FunctionValues`
    Throws:
      `IOException`

  - ### toString

    public String toString(int doc) throws IOException
    Specified by:
      `toString` in class `FunctionValues`
    Throws:
      `IOException`

  - ### getValueFiller

    public FunctionValues.ValueFiller getValueFiller()
    Overrides:
      `getValueFiller` in class `FunctionValues`