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
AbstractValueSource
implementation 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 void
createWeight(Map<Object,Object> context, IndexSearcher searcher)
Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.String
description()
description of field, used in explain()boolean
equals(Object o)
protected boolean
exists(int doc, FunctionValues[] valsArr)
Called byFunctionValues.exists(int)
for each document.protected abstract float
func(int doc, FunctionValues[] valsArr)
FunctionValues
getValues(Map<Object,Object> context, LeafReaderContext readerContext)
Gets the values for this reader and the context that was previously passed to createWeight().int
hashCode()
protected abstract String
name()
-
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 IOException
Called byFunctionValues.exists(int)
for each document.Default impl returns true if all of the specified
values
FunctionValues.exists(int)
for the specified doc, else false.
-
description
public String description()
Description copied from class:ValueSource
description of field, used in explain()- Specified by:
description
in classValueSource
-
getValues
public FunctionValues getValues(Map<Object,Object> context, LeafReaderContext readerContext) throws IOException
Description copied from class:ValueSource
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.- Specified by:
getValues
in classValueSource
- Throws:
IOException
-
createWeight
public void createWeight(Map<Object,Object> context, IndexSearcher searcher) throws IOException
Description copied from class:ValueSource
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.- Overrides:
createWeight
in classValueSource
- Throws:
IOException
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classValueSource
-
equals
public boolean equals(Object o)
- Specified by:
equals
in classValueSource
-
-