Class MultiFunction
- java.lang.Object
-
- org.apache.lucene.queries.function.ValueSource
-
- org.apache.lucene.queries.function.valuesource.MultiFunction
-
- Direct Known Subclasses:
DefFunction
public abstract class MultiFunction extends ValueSource
Abstract parent class forValueSourceimplementations that wrap multiple ValueSources and apply their own logic.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classMultiFunction.ValuesBase implementation that wraps multiple sources
-
Field Summary
Fields Modifier and Type Field Description protected List<ValueSource>sources
-
Constructor Summary
Constructors Constructor Description MultiFunction(List<ValueSource> sources)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static 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.Stringdescription()description of field, used in explain()static Stringdescription(String name, List<ValueSource> sources)booleanequals(Object o)inthashCode()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 Detail
-
sources
protected final List<ValueSource> sources
-
-
Constructor Detail
-
MultiFunction
public MultiFunction(List<ValueSource> sources)
-
-
Method Detail
-
name
protected abstract String name()
-
description
public String description()
Description copied from class:ValueSourcedescription of field, used in explain()- Specified by:
descriptionin classValueSource
-
allExists
public static boolean allExists(int doc, FunctionValues[] values) throws IOExceptionHelper utility forFunctionValues- Returns:
- true if all of the specified
valuesFunctionValues.exists(int)for the specified doc, else false. - Throws:
IOException
-
anyExists
public static boolean anyExists(int doc, FunctionValues[] values) throws IOExceptionHelper 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 IOExceptionEquivalent 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(int,FunctionValues[])
-
anyExists
public static boolean anyExists(int doc, FunctionValues values1, FunctionValues values2) throws IOExceptionEquivalent 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:
anyExists(int,FunctionValues[])
-
description
public static String description(String name, List<ValueSource> sources)
-
valsArr
public static FunctionValues[] valsArr(List<ValueSource> sources, Map<Object,Object> fcontext, LeafReaderContext readerContext) throws IOException
- Throws:
IOException
-
toString
public static String toString(String name, FunctionValues[] valsArr, int doc) throws IOException
- 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
-
-