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
`static 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
`protected BytesRef` `spare`
`protected CharsRef` `spareChars`
`protected SortedDocValues` `termsIndex`
`protected MutableValueStr` `val`
`protected Bits` `valid`
`protected ValueSource` `vs`

### Constructor Summary

Constructors
Constructor and Description
`DocTermsIndexDocValues(ValueSource vs, AtomicReaderContext context, String field)`

### Method Summary

Methods
`boolean` `boolVal(int doc)`
`boolean` `bytesVal(int doc, BytesRef 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
`ValueSourceScorer` `getRangeScorer(IndexReader reader, String lowerVal, String upperVal, boolean includeLower, boolean includeUpper)`
`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, doubleVal, doubleVal, explain, floatVal, floatVal, 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 Detail

#### termsIndex

    protected final SortedDocValues termsIndex

#### valid

    protected final Bits valid

#### vs

    protected final ValueSource vs

#### val

    protected final MutableValueStr val

#### spare

    protected final BytesRef spare

#### spareChars

    protected final CharsRef spareChars

### Constructor Detail

#### DocTermsIndexDocValues

    public DocTermsIndexDocValues(ValueSource vs,
                          AtomicReaderContext context,
                          String field)
                           throws IOException

Throws:
  `IOException`

### Method Detail

#### toTerm

    protected abstract String toTerm(String readableValue)

#### exists

    public boolean exists(int doc)

Description copied from class: `FunctionValues`
Returns true if there is a value for this document

Overrides:
  `exists` in class `FunctionValues`

#### ordVal

    public int ordVal(int doc)

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

#### 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,
                   BytesRef target)

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`

#### strVal

    public String strVal(int doc)

Overrides:
  `strVal` in class `FunctionValues`

#### boolVal

    public boolean boolVal(int doc)

Overrides:
  `boolVal` in class `FunctionValues`

#### objectVal

    public abstract Object objectVal(int doc)

Description copied from class: `FunctionValues`
Native Java Object representation of the value

Overrides:
  `objectVal` in class `FunctionValues`

#### getRangeScorer

    public ValueSourceScorer getRangeScorer(IndexReader reader,
                                   String lowerVal,
                                   String upperVal,
                                   boolean includeLower,
                                   boolean includeUpper)

Overrides:
  `getRangeScorer` in class `FunctionValues`

#### toString

    public String toString(int doc)

Specified by:
  `toString` in class `FunctionValues`

#### getValueFiller

    public FunctionValues.ValueFiller getValueFiller()

Overrides:
  `getValueFiller` in class `FunctionValues`