# Package org.apache.lucene.queries.function.valuesource

A variety of functions to use with FunctionQuery.

See: Description

Class Summary
Class | Description
--- | ---
BoolFunction | Abstract parent class for those `ValueSource` implementations which apply boolean logic to their values
ByteFieldSource | Obtains int field values from the `FieldCache` using `getInts()` and makes those values available as other numeric types, casting as needed.
BytesRefFieldSource | An implementation for retrieving `FunctionValues` instances for string based fields.
ConstNumberSource | `ConstNumberSource` is the base class for all constant numbers
ConstValueSource | `ConstValueSource` returns a constant for all documents
DefFunction | `ValueSource` implementation which only returns the values from the provided ValueSources which are available for a particular docId.
DivFloatFunction | Function to divide "a" by "b"
DocFreqValueSource | `DocFreqValueSource` returns the number of documents containing the term.
DoubleConstValueSource | Function that returns a constant double value for every document.
DoubleFieldSource | Obtains float field values from the `FieldCache` using `getFloats()` and makes those values available as other numeric types, casting as needed.
DualFloatFunction | Abstract `ValueSource` implementation which wraps two ValueSources and applies an extendible float function to their values.
FieldCacheSource | A base class for ValueSource implementations that retrieve values for a single field from the `FieldCache`.
FloatFieldSource | Obtains float field values from the `FieldCache` using `getFloats()` and makes those values available as other numeric types, casting as needed.
IDFValueSource | Function that returns `#idf(long, long)` for every document.
IfFunction | Depending on the boolean value of the `ifSource` function, returns the value of the `trueSource` or `falseSource` function.
IntFieldSource | Obtains int field values from the `FieldCache` using `getInts()` and makes those values available as other numeric types, casting as needed.
JoinDocFreqValueSource | Use a field value and find the Document Frequency within another field.
LinearFloatFunction | `LinearFloatFunction` implements a linear function over another `ValueSource`.
LiteralValueSource | Pass a the field value through as a String, no matter the type // Q: doesn't this mean it's a "string"?
LongFieldSource | Obtains float field values from the `FieldCache` using `getFloats()` and makes those values available as other numeric types, casting as needed.
MaxDocValueSource | Returns the value of `IndexReader.maxDoc()` for every document.
MaxFloatFunction | `MaxFloatFunction` returns the max of it's components.
MinFloatFunction | `MinFloatFunction` returns the min of it's components.
MultiBoolFunction | Abstract `ValueSource` implementation which wraps multiple ValueSources and applies an extendible boolean function to their values.
MultiFloatFunction | Abstract `ValueSource` implementation which wraps multiple ValueSources and applies an extendible float function to their values.
MultiFunction | Abstract parent class for `ValueSource` implementations that wrap multiple ValueSources and apply their own logic.
MultiValueSource | A `ValueSource` that abstractly represents `ValueSource`s for poly fields, and other things.
NormValueSource | Function that returns `TFIDFSimilarity.decodeNormValue(byte)` for every document.
NumDocsValueSource | Returns the value of `IndexReader.numDocs()` for every document.
OrdFieldSource | Obtains the ordinal of the field value from the default Lucene `FieldCache` using getStringIndex().
PowFloatFunction | Function to raise the base "a" to the power "b"
ProductFloatFunction | `ProductFloatFunction` returns the product of it's components.
QueryValueSource | `QueryValueSource` returns the relevance score of the query
RangeMapFloatFunction | `LinearFloatFunction` implements a linear function over another `ValueSource`.
ReciprocalFloatFunction | `ReciprocalFloatFunction` implements a reciprocal function f(x) = a/(mx+b), based on the float value of a field or function as exported by `ValueSource`.
ReverseOrdFieldSource | Obtains the ordinal of the field value from the default Lucene `FieldCache` using getTermsIndex() and reverses the order.
ScaleFloatFunction | Scales values to be between min and max.
ShortFieldSource | Obtains short field values from the `FieldCache` using `getShorts()` and makes those values available as other numeric types, casting as needed.
SimpleBoolFunction | `BoolFunction` implementation which applies an extendible boolean function to the values of a single wrapped `ValueSource`.
SimpleFloatFunction | A simple float function with a single argument
SingleFunction | A function with a single argument
SumFloatFunction | `SumFloatFunction` returns the sum of it's components.
SumTotalTermFreqValueSource | `SumTotalTermFreqValueSource` returns the number of tokens.
TermFreqValueSource | Function that returns `DocsEnum.freq()` for the supplied term in every document.
TFValueSource | Function that returns `TFIDFSimilarity.tf(int)` for every document.
TotalTermFreqValueSource | `TotalTermFreqValueSource` returns the total term freq (sum of term freqs across all documents).
VectorValueSource | Converts individual ValueSource instances to leverage the FunctionValues *Val functions that work with multiple values, i.e.

## Package org.apache.lucene.queries.function.valuesource Description

A variety of functions to use with FunctionQuery.