ReciprocalFloatFunction (Solr 3.6.2 API)
Keywords: org.apache.solr.search.function.ReciprocalFloatFunction class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.solr.search.function
Class ReciprocalFloatFunction

    java.lang.Object
      org.apache.solr.search.function.ValueSource
          org.apache.solr.search.function.ReciprocalFloatFunction

All Implemented Interfaces:
  Serializable

    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`.
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.

Version:
  $Id: ReciprocalFloatFunction.java 1065312 2011-01-30 16:08:25Z rmuir $
See Also:
  `FunctionQuery`, Serialized Form

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, Searcher 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)`
`DocValues` | `getValues(Map context, IndexReader reader)` Gets the values for this reader and the context that was previously passed to createWeight()
`int` | `hashCode()`

Methods inherited from class org.apache.solr.search.function.ValueSource
`getSortField, getValues, newContext, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### source

    protected final ValueSource source

### m

    protected final float m

### a

    protected final float a

### b

    protected final float b

Constructor Detail

### ReciprocalFloatFunction

    public ReciprocalFloatFunction(ValueSource source,
                                   float m,
                                   float a,
                                   float b)

  f(source) = a/(m*float(source)+b)

Method Detail

### getValues

    public DocValues getValues(Map context,
                               IndexReader reader)
                        throws IOException

  Description copied from class: `ValueSource`
  Gets the values for this reader and the context that was previously passed to createWeight()

  Overrides:
    `getValues` in class `ValueSource`
  Throws:
    `IOException`

### createWeight

    public void createWeight(Map context,
                             Searcher 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 class `ValueSource`
  Throws:
    `IOException`

### description

    public String description()

  Description copied from class: `ValueSource`
  description of field, used in explain()

  Specified by:
    `description` in class `ValueSource`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in class `ValueSource`

### equals

    public boolean equals(Object o)

  Specified by:
    `equals` in class `ValueSource`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD