org.apache.lucene.search.similarities

## Class BasicStats

- java.lang.Object
- - org.apache.lucene.search.similarities.Similarity.SimWeight
  - - org.apache.lucene.search.similarities.BasicStats

Direct Known Subclasses:
  LMSimilarity.LMStats

    public class BasicStats
    extends Similarity.SimWeight

Stores all statistics commonly used ranking methods.

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

### Field Summary

Fields
`protected float` `avgFieldLength` The average field length.
`protected long` `docFreq` The document frequency.
`protected long` `numberOfDocuments` The number of documents.
`protected long` `numberOfFieldTokens` The total number of tokens in the field.
`protected float` `queryBoost` Query's inner boost.
`protected float` `topLevelBoost` Any outer query's boost.
`protected float` `totalBoost` For most Similarities, the immediate and the top level query boosts are not handled differently.
`protected long` `totalTermFreq` The total number of occurrences of this term across all documents.

### Constructor Summary

Constructors
Constructor and Description
`BasicStats(String field, float queryBoost)` Constructor.

### Method Summary

Methods
`float` `getAvgFieldLength()` Returns the average field length.
`long` `getDocFreq()` Returns the document frequency.
`long` `getNumberOfDocuments()` Returns the number of documents.
`long` `getNumberOfFieldTokens()` Returns the total number of tokens in the field.
`float` `getTotalBoost()` Returns the total boost.
`long` `getTotalTermFreq()` Returns the total number of occurrences of this term across all documents.
`float` `getValueForNormalization()` The square of the raw normalization value.
`void` `normalize(float queryNorm, float topLevelBoost)` No normalization is done.
`protected float` `rawNormalizationValue()` Computes the raw normalization value.
`void` `setAvgFieldLength(float avgFieldLength)` Sets the average field length.
`void` `setDocFreq(long docFreq)` Sets the document frequency.
`void` `setNumberOfDocuments(long numberOfDocuments)` Sets the number of documents.
`void` `setNumberOfFieldTokens(long numberOfFieldTokens)` Sets the total number of tokens in the field.
`void` `setTotalTermFreq(long totalTermFreq)` Sets the total number of occurrences of this term across all documents.

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

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

### Field Detail

#### numberOfDocuments

    protected long numberOfDocuments

The number of documents.

#### numberOfFieldTokens

    protected long numberOfFieldTokens

The total number of tokens in the field.

#### avgFieldLength

    protected float avgFieldLength

The average field length.

#### docFreq

    protected long docFreq

The document frequency.

#### totalTermFreq

    protected long totalTermFreq

The total number of occurrences of this term across all documents.

#### queryBoost

    protected final float queryBoost

Query's inner boost.

#### topLevelBoost

    protected float topLevelBoost

Any outer query's boost.

#### totalBoost

    protected float totalBoost

For most Similarities, the immediate and the top level query boosts are not handled differently. Hence, this field is just the product of the other two.

### Constructor Detail

#### BasicStats

    public BasicStats(String field,
              float queryBoost)

Constructor. Sets the query boost.

### Method Detail

#### getNumberOfDocuments

    public long getNumberOfDocuments()

Returns the number of documents.

#### setNumberOfDocuments

    public void setNumberOfDocuments(long numberOfDocuments)

Sets the number of documents.

#### getNumberOfFieldTokens

    public long getNumberOfFieldTokens()

Returns the total number of tokens in the field.

See Also:
  `Terms.getSumTotalTermFreq()`

#### setNumberOfFieldTokens

    public void setNumberOfFieldTokens(long numberOfFieldTokens)

Sets the total number of tokens in the field.

See Also:
  `Terms.getSumTotalTermFreq()`

#### getAvgFieldLength

    public float getAvgFieldLength()

Returns the average field length.

#### setAvgFieldLength

    public void setAvgFieldLength(float avgFieldLength)

Sets the average field length.

#### getDocFreq

    public long getDocFreq()

Returns the document frequency.

#### setDocFreq

    public void setDocFreq(long docFreq)

Sets the document frequency.

#### getTotalTermFreq

    public long getTotalTermFreq()

Returns the total number of occurrences of this term across all documents.

#### setTotalTermFreq

    public void setTotalTermFreq(long totalTermFreq)

Sets the total number of occurrences of this term across all documents.

#### getValueForNormalization

    public float getValueForNormalization()

The square of the raw normalization value.

Specified by:
  `getValueForNormalization` in class `Similarity.SimWeight`
See Also:
  `rawNormalizationValue()`

#### rawNormalizationValue

    protected float rawNormalizationValue()

Computes the raw normalization value. This basic implementation returns the query boost. Subclasses may override this method to include other factors (such as idf), or to save the value for inclusion in `normalize(float, float)`, etc.

#### normalize

    public void normalize(float queryNorm,
                 float topLevelBoost)

No normalization is done. `topLevelBoost` is saved in the object, however.

Specified by:
  `normalize` in class `Similarity.SimWeight`

#### getTotalBoost

    public float getTotalBoost()

Returns the total boost.