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 forValueSource
implementations that wrap multiple ValueSources and apply their own logic.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MultiFunction.Values
Base 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 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.String
description()
description of field, used in explain()static String
description(String name, List<ValueSource> sources)
boolean
equals(Object o)
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 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:ValueSource
description of field, used in explain()- Specified by:
description
in classValueSource
-
allExists
public static boolean allExists(int doc, FunctionValues[] values) throws IOException
Helper utility forFunctionValues
- Returns:
- true if all of the specified
values
FunctionValues.exists(int)
for the specified doc, else false. - Throws:
IOException
-
anyExists
public static boolean anyExists(int doc, FunctionValues[] values) throws IOException
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(int,FunctionValues[])
-
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:
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: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
-
-