|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.queries.function.ValueSource org.apache.lucene.queries.function.valuesource.ReciprocalFloatFunction
public class ReciprocalFloatFunction
ReciprocalFloatFunction
implements a reciprocal function f(x) = a/(mx+b), based on
the float value of a field or function as exported by ValueSource
.
When a and b are equal, and x>=0, this function has a maximum value of 1 that drops as x increases.
Increasing the value of a and b together results in a movement of the entire function to a flatter part of the curve.
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
Field Summary | |
---|---|
protected float |
a
|
protected float |
b
|
protected float |
m
|
protected ValueSource |
source
|
Constructor Summary | |
---|---|
ReciprocalFloatFunction(ValueSource source,
float m,
float a,
float b)
f(source) = a/(m*float(source)+b) |
Method Summary | |
---|---|
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,
AtomicReaderContext 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 |
---|
getSortField, newContext, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final ValueSource source
protected final float m
protected final float a
protected final float b
Constructor Detail |
---|
public ReciprocalFloatFunction(ValueSource source, float m, float a, float b)
Method Detail |
---|
public FunctionValues getValues(Map context, AtomicReaderContext 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
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |