Class MultiFunction
java.lang.Object
org.apache.lucene.queries.function.ValueSource
org.apache.lucene.queries.function.valuesource.MultiFunction
- Direct Known Subclasses:
DefFunction
Abstract parent class for
ValueSource
implementations that wrap multiple ValueSources and
apply their own logic.-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Base implementation that wraps multiple sources -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
allExists
(int doc, FunctionValues[] values) Helper utility forFunctionValues
static boolean
allExists
(int doc, FunctionValues values1, FunctionValues values2) Equivalent to theFunctionValues[]
method with the same name, but optimized for dealing with exactly 2 arguments.static boolean
anyExists
(int doc, FunctionValues[] values) Helper utility forFunctionValues
static boolean
anyExists
(int doc, FunctionValues values1, FunctionValues values2) Equivalent to theFunctionValues[]
method with the same name, but optimized for dealing with exactly 2 arguments.void
createWeight
(Map<Object, Object> context, IndexSearcher searcher) Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.description of field, used in explain()static String
description
(String name, List<ValueSource> sources) boolean
int
hashCode()
protected abstract String
name()
static String
toString
(String name, FunctionValues[] valsArr, int doc) static FunctionValues[]
valsArr
(List<ValueSource> sources, Map<Object, Object> fcontext, LeafReaderContext readerContext) Methods inherited from class org.apache.lucene.queries.function.ValueSource
asDoubleValuesSource, asLongValuesSource, fromDoubleValuesSource, getSortField, getValues, newContext, toString
-
Field Details
-
sources
-
-
Constructor Details
-
MultiFunction
-
-
Method Details
-
name
-
description
Description copied from class:ValueSource
description of field, used in explain()- Specified by:
description
in classValueSource
-
allExists
Helper utility forFunctionValues
- Returns:
- true if all of the specified
values
FunctionValues.exists(int)
for the specified doc, else false. - Throws:
IOException
-
anyExists
Helper utility forFunctionValues
- Returns:
- true if any of the specified
values
FunctionValues.exists(int)
for the specified doc, else false. - Throws:
IOException
-
allExists
public static boolean allExists(int doc, FunctionValues values1, FunctionValues values2) throws IOException Equivalent to theFunctionValues[]
method with the same name, but optimized for dealing with exactly 2 arguments.- Returns:
- true if both of the specified
values
FunctionValues.exists(int)
for the specified doc, else false. - Throws:
IOException
- See Also:
-
anyExists
public static boolean anyExists(int doc, FunctionValues values1, FunctionValues values2) throws IOException Equivalent to theFunctionValues[]
method with the same name, but optimized for dealing with exactly 2 arguments.- Returns:
- true if either of the specified
values
FunctionValues.exists(int)
for the specified doc, else false. - Throws:
IOException
- See Also:
-
description
-
valsArr
public static FunctionValues[] valsArr(List<ValueSource> sources, Map<Object, Object> fcontext, LeafReaderContext readerContext) throws IOException- Throws:
IOException
-
toString
- Throws:
IOException
-
createWeight
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
- Specified by:
equals
in classValueSource
-