public class ReciprocalFloatFunction extends ValueSource
ReciprocalFloatFunction
implements a reciprocal function f(x) = a/(mx+b), based on
the float value of a field or function as exported by ValueSource
.
These properties make this an idea function for boosting more recent documents.
Example: recip(ms(NOW,mydatefield),3.16e-11,1,1)
A multiplier of 3.16e-11 changes the units from milliseconds to years (since there are about 3.16e10 milliseconds per year). Thus, a very recent date will yield a value close to 1/(0+1) or 1, a date a year in the past will get a multiplier of about 1/(1+1) or 1/2, and date two years old will yield 1/(2+1) or 1/3.
FunctionQuery
Modifier and Type | Field and Description |
---|---|
protected float |
a |
protected float |
b |
protected float |
m |
protected ValueSource |
source |
Constructor and Description |
---|
ReciprocalFloatFunction(ValueSource source,
float m,
float a,
float b)
f(source) = a/(m*float(source)+b)
|
Modifier and Type | Method and Description |
---|---|
void |
createWeight(Map 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 context,
LeafReaderContext readerContext)
Gets the values for this reader and the context that was previously
passed to createWeight().
|
int |
hashCode() |
asDoubleValuesSource, asLongValuesSource, fromDoubleValuesSource, getSortField, newContext, toString
protected final ValueSource source
protected final float m
protected final float a
protected final float b
public ReciprocalFloatFunction(ValueSource source, float m, float a, float b)
public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException
ValueSource
getValues
in class ValueSource
IOException
public void createWeight(Map context, IndexSearcher searcher) throws IOException
ValueSource
createWeight
in class ValueSource
IOException
public String description()
ValueSource
description
in class ValueSource
public int hashCode()
hashCode
in class ValueSource
public boolean equals(Object o)
equals
in class ValueSource
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.