Class MultiFloatFunction
- java.lang.Object
-
- org.apache.lucene.queries.function.ValueSource
-
- org.apache.lucene.queries.function.valuesource.MultiFloatFunction
-
- Direct Known Subclasses:
MaxFloatFunction,MinFloatFunction,ProductFloatFunction,SumFloatFunction
public abstract class MultiFloatFunction extends ValueSource
AbstractValueSourceimplementation which wraps multiple ValueSources and applies an extendible float function to their values.
-
-
Field Summary
Fields Modifier and Type Field Description protected ValueSource[]sources
-
Constructor Summary
Constructors Constructor Description MultiFloatFunction(ValueSource[] sources)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcreateWeight(Map<Object,Object> context, IndexSearcher searcher)Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.Stringdescription()description of field, used in explain()booleanequals(Object o)protected booleanexists(int doc, FunctionValues[] valsArr)Called byFunctionValues.exists(int)for each document.protected abstract floatfunc(int doc, FunctionValues[] valsArr)FunctionValuesgetValues(Map<Object,Object> context, LeafReaderContext readerContext)Gets the values for this reader and the context that was previously passed to createWeight().inthashCode()protected abstract Stringname()-
Methods inherited from class org.apache.lucene.queries.function.ValueSource
asDoubleValuesSource, asLongValuesSource, fromDoubleValuesSource, getSortField, newContext, toString
-
-
-
-
Field Detail
-
sources
protected final ValueSource[] sources
-
-
Constructor Detail
-
MultiFloatFunction
public MultiFloatFunction(ValueSource[] sources)
-
-
Method Detail
-
name
protected abstract String name()
-
func
protected abstract float func(int doc, FunctionValues[] valsArr) throws IOException- Throws:
IOException
-
exists
protected boolean exists(int doc, FunctionValues[] valsArr) throws IOExceptionCalled byFunctionValues.exists(int)for each document.Default impl returns true if all of the specified
valuesFunctionValues.exists(int)for the specified doc, else false.
-
description
public String description()
Description copied from class:ValueSourcedescription of field, used in explain()- Specified by:
descriptionin classValueSource
-
getValues
public FunctionValues getValues(Map<Object,Object> context, LeafReaderContext readerContext) throws IOException
Description copied from class:ValueSourceGets 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.- Specified by:
getValuesin classValueSource- Throws:
IOException
-
createWeight
public void createWeight(Map<Object,Object> context, IndexSearcher searcher) throws IOException
Description copied from class:ValueSourceImplementations 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.- Overrides:
createWeightin classValueSource- Throws:
IOException
-
hashCode
public int hashCode()
- Specified by:
hashCodein classValueSource
-
equals
public boolean equals(Object o)
- Specified by:
equalsin classValueSource
-
-