# 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
  BytesRefFieldSource | An implementation for retrieving `FunctionValues` instances for string based fields.
  ComparisonBoolFunction | Base class for comparison operators useful within an "if"/conditional.
  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.
  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).
  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.

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.