Package org.apache.lucene.search.similarities

# Class BasicModel

java.lang.Object
org.apache.lucene.search.similarities.BasicModel

Direct Known Subclasses:
  `BasicModelG`, `BasicModelIF`, `BasicModelIn`, `BasicModelIne`

public abstract class BasicModel extends Object
This class acts as the base class for the specific basic model implementations in the DFR framework. Basic models compute the informative content Inf1 = -log2Prob1 .

See Also:
  - `DFRSimilarity`
WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicModel()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Explanation`
  `explain(BasicStats stats, double tfn, double aeTimes1pTfn)`
  Returns an explanation for the score.
  `abstract double`
  `score(BasicStats stats, double tfn, double aeTimes1pTfn)`
  Returns the informative content score combined with the after effect, more specifically `informationContentScore * aeTimes1pTfn / (1 + tfn)`.
  `abstract String`
  `toString()`
  Subclasses must override this method to return the code of the basic model formula.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### BasicModel

    public BasicModel()
    Sole constructor. (For invocation by subclass constructors, typically implicit.)

- ## Method Details

  - ### score

    public abstract double score(BasicStats stats, double tfn, double aeTimes1pTfn)
    Returns the informative content score combined with the after effect, more specifically `informationContentScore * aeTimes1pTfn / (1 + tfn)`. This function must be non-decreasing with `tfn`.

  - ### explain

    public abstract Explanation explain(BasicStats stats, double tfn, double aeTimes1pTfn)
    Returns an explanation for the score. Subclasses must override this method.

  - ### toString

    public abstract String toString()
    Subclasses must override this method to return the code of the basic model formula. Refer to the original paper for the list.
    Overrides:
      `toString` in class `Object`