Class ScaleFloatFunction
- java.lang.Object
-
- org.apache.lucene.queries.function.ValueSource
-
- org.apache.lucene.queries.function.valuesource.ScaleFloatFunction
-
public class ScaleFloatFunction extends ValueSource
Scales values to be between min and max.This implementation currently traverses all of the source values to obtain their min and max.
This implementation currently cannot distinguish when documents have been deleted or documents that have no value, and 0.0 values will be used for these cases. This means that if values are normally all greater than 0.0, one can still end up with 0.0 as the min value to map from. In these cases, an appropriate map() function could be used as a workaround to change 0.0 to a value in the real range.
-
-
Field Summary
Fields Modifier and Type Field Description protected float
max
protected float
min
protected ValueSource
source
-
Constructor Summary
Constructors Constructor Description ScaleFloatFunction(ValueSource source, float min, float max)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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()boolean
equals(Object o)
FunctionValues
getValues(Map<Object,Object> context, LeafReaderContext readerContext)
Gets the values for this reader and the context that was previously passed to createWeight().int
hashCode()
-
Methods inherited from class org.apache.lucene.queries.function.ValueSource
asDoubleValuesSource, asLongValuesSource, fromDoubleValuesSource, getSortField, newContext, toString
-
-
-
-
Field Detail
-
source
protected final ValueSource source
-
min
protected final float min
-
max
protected final float max
-
-
Constructor Detail
-
ScaleFloatFunction
public ScaleFloatFunction(ValueSource source, float min, float max)
-
-
Method Detail
-
description
public String description()
Description copied from class:ValueSource
description of field, used in explain()- Specified by:
description
in classValueSource
-
getValues
public FunctionValues getValues(Map<Object,Object> context, LeafReaderContext readerContext) throws IOException
Description copied from class:ValueSource
Gets the values for this reader and the context that was previously passed to createWeight(). The values must be consumed in a forward docID manner, and you must call this method again to iterate through the values again.- Specified by:
getValues
in classValueSource
- 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
-
-