Class ValueSource

java.lang.Object
org.apache.lucene.queries.function.ValueSource
Direct Known Subclasses:
BoolFunction, ConstNumberSource, DocFreqValueSource, DualFloatFunction, FieldCacheSource, LinearFloatFunction, LiteralValueSource, MaxDocValueSource, MultiFloatFunction, MultiFunction, MultiValueSource, NormValueSource, NumDocsValueSource, QueryValueSource, RangeMapFloatFunction, ReciprocalFloatFunction, ScaleFloatFunction, SingleFunction, SumTotalTermFreqValueSource, TotalTermFreqValueSource, ValueSource.FromDoubleValuesSource

public abstract class ValueSource extends Object
Instantiates FunctionValues for a particular reader.
Often used when creating a FunctionQuery.
  • Constructor Details

    • ValueSource

      public ValueSource()
  • Method Details

    • getValues

      public abstract FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException
      Gets the values for this reader and the context that was previously passed to createWeight(). The values must be consumed in a forward docID manner, and you must call this method again to iterate through the values again.
      Throws:
      IOException
    • equals

      public abstract boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public abstract int hashCode()
      Overrides:
      hashCode in class Object
    • description

      public abstract String description()
      description of field, used in explain()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • createWeight

      public void createWeight(Map context, IndexSearcher searcher) throws IOException
      Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context. The context object will be passed to getValues() where this info can be retrieved.
      Throws:
      IOException
    • newContext

      public static Map newContext(IndexSearcher searcher)
      Returns a new non-threadsafe context map.
    • asLongValuesSource

      public LongValuesSource asLongValuesSource()
      Expose this ValueSource as a LongValuesSource
    • asDoubleValuesSource

      public DoubleValuesSource asDoubleValuesSource()
      Expose this ValueSource as a DoubleValuesSource
    • fromDoubleValuesSource

      public static ValueSource fromDoubleValuesSource(DoubleValuesSource in)
    • getSortField

      public SortField getSortField(boolean reverse)
      EXPERIMENTAL: This method is subject to change.

      Get the SortField for this ValueSource. Uses the getValues(java.util.Map, org.apache.lucene.index.LeafReaderContext) to populate the SortField.

      Parameters:
      reverse - true if this is a reverse sort.
      Returns:
      The SortField for the ValueSource