Show / Hide Table of Contents

    Class ReciprocalSingleFunction

    ReciprocalSingleFunction implements a reciprocal function f(x) = a/(mx+b), based on the 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.

    NOTE: This was ReciprocalFloatFunction in Lucene

    Inheritance
    System.Object
    ValueSource
    ReciprocalSingleFunction
    Inherited Members
    ValueSource.ToString()
    ValueSource.NewContext(IndexSearcher)
    ValueSource.GetSortField(Boolean)
    Namespace: Lucene.Net.Queries.Function.ValueSources
    Assembly: Lucene.Net.Queries.dll
    Syntax
    public class ReciprocalSingleFunction : ValueSource

    Constructors

    | Improve this Doc View Source

    ReciprocalSingleFunction(ValueSource, Single, Single, Single)

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

    Declaration
    public ReciprocalSingleFunction(ValueSource source, float m, float a, float b)
    Parameters
    Type Name Description
    ValueSource source
    System.Single m
    System.Single a
    System.Single b

    Fields

    | Improve this Doc View Source

    m_a

    Declaration
    protected readonly float m_a
    Field Value
    Type Description
    System.Single
    | Improve this Doc View Source

    m_b

    Declaration
    protected readonly float m_b
    Field Value
    Type Description
    System.Single
    | Improve this Doc View Source

    m_m

    Declaration
    protected readonly float m_m
    Field Value
    Type Description
    System.Single
    | Improve this Doc View Source

    m_source

    Declaration
    protected readonly ValueSource m_source
    Field Value
    Type Description
    ValueSource

    Methods

    | Improve this Doc View Source

    CreateWeight(IDictionary, IndexSearcher)

    Declaration
    public override void CreateWeight(IDictionary context, IndexSearcher searcher)
    Parameters
    Type Name Description
    IDictionary context
    IndexSearcher searcher
    Overrides
    ValueSource.CreateWeight(IDictionary, IndexSearcher)
    | Improve this Doc View Source

    Equals(Object)

    Declaration
    public override bool Equals(object o)
    Parameters
    Type Name Description
    System.Object o
    Returns
    Type Description
    System.Boolean
    Overrides
    ValueSource.Equals(Object)
    | Improve this Doc View Source

    GetDescription()

    Declaration
    public override string GetDescription()
    Returns
    Type Description
    System.String
    Overrides
    ValueSource.GetDescription()
    | Improve this Doc View Source

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32
    Overrides
    ValueSource.GetHashCode()
    | Improve this Doc View Source

    GetValues(IDictionary, AtomicReaderContext)

    Declaration
    public override FunctionValues GetValues(IDictionary context, AtomicReaderContext readerContext)
    Parameters
    Type Name Description
    IDictionary context
    AtomicReaderContext readerContext
    Returns
    Type Description
    FunctionValues
    Overrides
    ValueSource.GetValues(IDictionary, AtomicReaderContext)

    See Also

    FunctionQuery
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)