Package org.apache.lucene.search.similarities

# Class AxiomaticF1EXP

java.lang.Object
org.apache.lucene.search.similarities.Similarity
org.apache.lucene.search.similarities.SimilarityBase
org.apache.lucene.search.similarities.Axiomatic
org.apache.lucene.search.similarities.AxiomaticF1EXP

public class AxiomaticF1EXP extends Axiomatic
F1EXP is defined as Sum(tf(term_doc_freq)*ln(docLen)*IDF(term)) where IDF(t) = pow((N+1)/df(t), k) N=total num of docs, df=doc freq

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.lucene.search.similarities.Similarity

`Similarity.SimScorer`

## Field Summary

### Fields inherited from class org.apache.lucene.search.similarities.Axiomatic

`k, queryLen, s`

## Constructor Summary

Constructors
Constructor
Description
`AxiomaticF1EXP()`
Default constructor
`AxiomaticF1EXP(float s)`
Constructor setting s only, letting k and queryLen to default
`AxiomaticF1EXP(float s, float k)`
Constructor setting s and k, letting queryLen to default

## Method Summary

Modifier and Type
Method
Description
`protected double`
`gamma(BasicStats stats, double freq, double docLen)`
compute the gamma component
`protected double`
`idf(BasicStats stats, double freq, double docLen)`
compute the inverted document frequency component
`protected Explanation`
`idfExplain(BasicStats stats, double freq, double docLen)`
Explain the score of the inverted document frequency component for a single document
`protected double`
`ln(BasicStats stats, double freq, double docLen)`
compute the document length component
`protected Explanation`
`lnExplain(BasicStats stats, double freq, double docLen)`
Explain the score of the document length component for a single document
`protected double`
`tf(BasicStats stats, double freq, double docLen)`
compute the term frequency component
`protected Explanation`
`tfExplain(BasicStats stats, double freq, double docLen)`
Explain the score of the term frequency component for a single document
`protected double`
`tfln(BasicStats stats, double freq, double docLen)`
compute the mixed term frequency and document length component
`protected Explanation`
`tflnExplain(BasicStats stats, double freq, double docLen)`
Explain the score of the mixed term frequency and document length component for a single document
`String`
`toString()`
Name of the axiomatic method.

### Methods inherited from class org.apache.lucene.search.similarities.Axiomatic

`explain, explain, score`

### Methods inherited from class org.apache.lucene.search.similarities.SimilarityBase

`fillBasicStats, log2, newStats, scorer`

### Methods inherited from class org.apache.lucene.search.similarities.Similarity

`computeNorm, getDiscountOverlaps`

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

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

## Constructor Details

### AxiomaticF1EXP

public AxiomaticF1EXP(float s, float k)
Constructor setting s and k, letting queryLen to default

Parameters:
  `s` - hyperparam for the growth function
  `k` - hyperparam for the primitive weighting function

### AxiomaticF1EXP

public AxiomaticF1EXP(float s)
Constructor setting s only, letting k and queryLen to default

Parameters:
  `s` - hyperparam for the growth function

### AxiomaticF1EXP

public AxiomaticF1EXP()
Default constructor

## Method Details

### toString

public String toString()
Description copied from class: `Axiomatic`
Name of the axiomatic method.

Specified by:
  `toString` in class `Axiomatic`

### tf

protected double tf(BasicStats stats, double freq, double docLen)
compute the term frequency component

Specified by:
  `tf` in class `Axiomatic`

### ln

protected double ln(BasicStats stats, double freq, double docLen)
compute the document length component

Specified by:
  `ln` in class `Axiomatic`

### tfln

protected double tfln(BasicStats stats, double freq, double docLen)
compute the mixed term frequency and document length component

Specified by:
  `tfln` in class `Axiomatic`

### idf

protected double idf(BasicStats stats, double freq, double docLen)
compute the inverted document frequency component

Specified by:
  `idf` in class `Axiomatic`

### gamma

protected double gamma(BasicStats stats, double freq, double docLen)
compute the gamma component

Specified by:
  `gamma` in class `Axiomatic`

### tfExplain

protected Explanation tfExplain(BasicStats stats, double freq, double docLen)
Description copied from class: `Axiomatic`
Explain the score of the term frequency component for a single document

Specified by:
  `tfExplain` in class `Axiomatic`
Parameters:
  `stats` - the corpus level statistics
  `freq` - number of occurrences of term in the document
  `docLen` - the document length
Returns:
  Explanation of how the tf component was computed

### lnExplain

protected Explanation lnExplain(BasicStats stats, double freq, double docLen)
Description copied from class: `Axiomatic`
Explain the score of the document length component for a single document

Specified by:
  `lnExplain` in class `Axiomatic`
Parameters:
  `stats` - the corpus level statistics
  `freq` - number of occurrences of term in the document
  `docLen` - the document length
Returns:
  Explanation of how the ln component was computed

### tflnExplain

protected Explanation tflnExplain(BasicStats stats, double freq, double docLen)
Description copied from class: `Axiomatic`
Explain the score of the mixed term frequency and document length component for a single document

Specified by:
  `tflnExplain` in class `Axiomatic`
Parameters:
  `stats` - the corpus level statistics
  `freq` - number of occurrences of term in the document
  `docLen` - the document length
Returns:
  Explanation of how the tfln component was computed

### idfExplain

protected Explanation idfExplain(BasicStats stats, double freq, double docLen)
Description copied from class: `Axiomatic`
Explain the score of the inverted document frequency component for a single document

Specified by:
  `idfExplain` in class `Axiomatic`
Parameters:
  `stats` - the corpus level statistics
  `freq` - number of occurrences of term in the document
  `docLen` - the document length
Returns:
  Explanation of how the idf component was computed