Module org.apache.lucene.core
Class TFIDFSimilarity.TFIDFScorer
- java.lang.Object
-
- org.apache.lucene.search.similarities.Similarity.SimScorer
-
- org.apache.lucene.search.similarities.TFIDFSimilarity.TFIDFScorer
-
- Enclosing class:
- TFIDFSimilarity
class TFIDFSimilarity.TFIDFScorer extends Similarity.SimScorer
Collection statistics for the TF-IDF model. The only statistic of interest to this model is idf.
-
-
Field Summary
Fields Modifier and Type Field Description private float
boost
private Explanation
idf
The idf and its explanation(package private) float[]
normTable
private float
queryWeight
-
Constructor Summary
Constructors Constructor Description TFIDFScorer(float boost, Explanation idf, float[] normTable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Explanation
explain(Explanation freq, long norm)
Explain the score for a single documentprivate Explanation
explainScore(Explanation freq, long encodedNorm, float[] normTable)
float
score(float freq, long norm)
Score a single document.
-
-
-
Field Detail
-
idf
private final Explanation idf
The idf and its explanation
-
boost
private final float boost
-
queryWeight
private final float queryWeight
-
normTable
final float[] normTable
-
-
Constructor Detail
-
TFIDFScorer
public TFIDFScorer(float boost, Explanation idf, float[] normTable)
-
-
Method Detail
-
score
public float score(float freq, long norm)
Description copied from class:Similarity.SimScorer
Score a single document.freq
is the document-term sloppy frequency and must be finite and positive.norm
is the encoded normalization factor as computed bySimilarity.computeNorm(FieldInvertState)
at index time, or1
if norms are disabled.norm
is never0
.Score must not decrease when
freq
increases, ie. iffreq1 > freq2
, thenscore(freq1, norm) >= score(freq2, norm)
for any value ofnorm
that may be produced bySimilarity.computeNorm(FieldInvertState)
.Score must not increase when the unsigned
norm
increases, ie. ifLong.compareUnsigned(norm1, norm2) > 0
thenscore(freq, norm1) <= score(freq, norm2)
for any legalfreq
.As a consequence, the maximum score that this scorer can produce is bound by
score(Float.MAX_VALUE, 1)
.- Specified by:
score
in classSimilarity.SimScorer
- Parameters:
freq
- sloppy term frequency, must be finite and positivenorm
- encoded normalization factor or1
if norms are disabled- Returns:
- document's score
-
explain
public Explanation explain(Explanation freq, long norm)
Description copied from class:Similarity.SimScorer
Explain the score for a single document- Overrides:
explain
in classSimilarity.SimScorer
- Parameters:
freq
- Explanation of how the sloppy term frequency was computednorm
- encoded normalization factor, as returned bySimilarity.computeNorm(org.apache.lucene.index.FieldInvertState)
, or1
if norms are disabled- Returns:
- document's score
-
explainScore
private Explanation explainScore(Explanation freq, long encodedNorm, float[] normTable)
-
-