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

package org.apache.lucene.queries.function.valuesource
A variety of functions to use with FunctionQuery.

- Related Packages
  Package
  Description
  org.apache.lucene.queries.function
  Queries that compute score based upon a function.
  org.apache.lucene.queries.function.docvalues
  FunctionValues for different data types.
- Classes
  Class
  Description
  BoolFunction
  Abstract parent class for those `ValueSource` implementations which apply boolean logic to their values
  ByteKnnVectorFieldSource
  An implementation for retrieving `FunctionValues` instances for byte knn vectors fields.
  BytesRefFieldSource
  An implementation for retrieving `FunctionValues` instances for string based fields.
  ByteVectorSimilarityFunction
  `ByteVectorSimilarityFunction` returns a similarity function between two knn vectors with byte elements.
  ComparisonBoolFunction
  Base class for comparison operators useful within an "if"/conditional.
  ConstKnnByteVectorValueSource
  Function that returns a constant byte vector value for every document.
  ConstKnnFloatValueSource
  Function that returns a constant float vector value for every document.
  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 double field values from `LeafReader.getNumericDocValues(java.lang.String)` 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.
  EnumFieldSource
  Obtains int field values from `LeafReader.getNumericDocValues(java.lang.String)` and makes those values available as other numeric types, casting as needed.
  FieldCacheSource
  A base class for ValueSource implementations that retrieve values for a single field from DocValues.
  FloatFieldSource
  Obtains float field values from `LeafReader.getNumericDocValues(java.lang.String)` and makes those values available as other numeric types, casting as needed.
  FloatKnnVectorFieldSource
  An implementation for retrieving `FunctionValues` instances for float knn vectors fields.
  FloatVectorSimilarityFunction
  `FloatVectorSimilarityFunction` returns a similarity function between two knn vectors with float elements.
  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 `LeafReader.getNumericDocValues(java.lang.String)` 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 long field values from `LeafReader.getNumericDocValues(java.lang.String)` 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 its components.
  MinFloatFunction
  `MinFloatFunction` returns the min of its 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.
  MultiValuedDoubleFieldSource
  Obtains double field values from `LeafReader.getSortedNumericDocValues(java.lang.String)` and using a `SortedNumericSelector` it gives a single-valued ValueSource view of a field.
  MultiValuedFloatFieldSource
  Obtains float field values from `LeafReader.getSortedNumericDocValues(java.lang.String)` and using a `SortedNumericSelector` it gives a single-valued ValueSource view of a field.
  MultiValuedIntFieldSource
  Obtains int field values from `LeafReader.getSortedNumericDocValues(java.lang.String)` and using a `SortedNumericSelector` it gives a single-valued ValueSource view of a field.
  MultiValuedLongFieldSource
  Obtains long field values from `LeafReader.getSortedNumericDocValues(java.lang.String)` and using a `SortedNumericSelector` it gives a single-valued ValueSource view of a field.
  MultiValueSource
  A `ValueSource` that abstractly represents `ValueSource`s for poly fields, and other things.
  NormValueSource
  Function that returns the decoded norm for every document.
  NumDocsValueSource
  Returns the value of `IndexReader.numDocs()` for every document.
  PowFloatFunction
  Function to raise the base "a" to the power "b"
  ProductFloatFunction
  `ProductFloatFunction` returns the product of its components.
  QueryValueSource
  `QueryValueSource` returns the relevance score of the query
  RangeMapFloatFunction
  `RangeMapFloatFunction` implements a map function over another `ValueSource` whose values fall within min and max inclusive to target.
  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`.
  ScaleFloatFunction
  Scales values to be between min and max.
  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
  SortedSetFieldSource
  Retrieves `FunctionValues` instances for multi-valued string based fields.
  SumFloatFunction
  `SumFloatFunction` returns the sum of its components.
  SumTotalTermFreqValueSource
  `SumTotalTermFreqValueSource` returns the number of tokens.
  TermFreqValueSource
  Function that returns `PostingsEnum.freq()` for the supplied term in every document.
  TFValueSource
  Function that returns `TFIDFSimilarity.tf(float)` for every document.
  TotalTermFreqValueSource
  `TotalTermFreqValueSource` returns the total term freq (sum of term freqs across all documents).
  VectorFieldFunction
  An implementation for retrieving `FunctionValues` instances for knn vectors fields.
  VectorSimilarityFunction
  `VectorSimilarityFunction` returns a similarity function between two knn vectors.
  VectorValueSource
  Converts individual ValueSource instances to leverage the FunctionValues *Val functions that work with multiple values, i.e.