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
Nested ClassesModifier and TypeClassDescriptionclassBase implementation that wraps multiple sources -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanallExists(int doc, FunctionValues[] values) Helper utility forFunctionValuesstatic booleanallExists(int doc, FunctionValues values1, FunctionValues values2) Equivalent to theFunctionValues[]method with the same name, but optimized for dealing with exactly 2 arguments.static booleananyExists(int doc, FunctionValues[] values) Helper utility forFunctionValuesstatic booleananyExists(int doc, FunctionValues values1, FunctionValues values2) Equivalent to theFunctionValues[]method with the same name, but optimized for dealing with exactly 2 arguments.voidcreateWeight(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 Stringdescription(String name, List<ValueSource> sources) booleaninthashCode()protected abstract Stringname()static StringtoString(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:ValueSourcedescription of field, used in explain()- Specified by:
descriptionin classValueSource
-
allExists
Helper utility forFunctionValues- Returns:
- true if all of the specified
valuesFunctionValues.exists(int)for the specified doc, else false. - Throws:
IOException
-
anyExists
Helper utility forFunctionValues- Returns:
- true if any of the specified
valuesFunctionValues.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
valuesFunctionValues.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
valuesFunctionValues.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: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
- Specified by:
equalsin classValueSource
-