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.Values
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<ValueSource>sources
-
Constructor Summary
Constructors Constructor Description MultiFunction(java.util.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(java.util.Map context, IndexSearcher searcher)Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.java.lang.Stringdescription()description of field, used in explain()static java.lang.Stringdescription(java.lang.String name, java.util.List<ValueSource> sources)booleanequals(java.lang.Object o)inthashCode()protected abstract java.lang.Stringname()static java.lang.StringtoString(java.lang.String name, FunctionValues[] valsArr, int doc)static FunctionValues[]valsArr(java.util.List<ValueSource> sources, java.util.Map 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 java.util.List<ValueSource> sources
-
-
Constructor Detail
-
MultiFunction
public MultiFunction(java.util.List<ValueSource> sources)
-
-
Method Detail
-
name
protected abstract java.lang.String name()
-
description
public java.lang.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 java.io.IOExceptionHelper utility forFunctionValues- Returns:
- true if all of the specified
valuesFunctionValues.exists(int)for the specified doc, else false. - Throws:
java.io.IOException
-
anyExists
public static boolean anyExists(int doc, FunctionValues[] values) throws java.io.IOExceptionHelper utility forFunctionValues- Returns:
- true if any of the specified
valuesFunctionValues.exists(int)for the specified doc, else false. - Throws:
java.io.IOException
-
allExists
public static boolean allExists(int doc, FunctionValues values1, FunctionValues values2) throws java.io.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:
java.io.IOException- See Also:
anyExists(int,FunctionValues[])
-
anyExists
public static boolean anyExists(int doc, FunctionValues values1, FunctionValues values2) throws java.io.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:
java.io.IOException- See Also:
anyExists(int,FunctionValues[])
-
description
public static java.lang.String description(java.lang.String name, java.util.List<ValueSource> sources)
-
valsArr
public static FunctionValues[] valsArr(java.util.List<ValueSource> sources, java.util.Map fcontext, LeafReaderContext readerContext) throws java.io.IOException
- Throws:
java.io.IOException
-
toString
public static java.lang.String toString(java.lang.String name, FunctionValues[] valsArr, int doc) throws java.io.IOException- Throws:
java.io.IOException
-
createWeight
public void createWeight(java.util.Map context, IndexSearcher searcher) throws java.io.IOExceptionDescription 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:
java.io.IOException
-
hashCode
public int hashCode()
- Specified by:
hashCodein classValueSource
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin classValueSource
-
-