public abstract class PerFieldSimilarityWrapper extends Similarity
Similarityfor different fields.
Subclasses should implement
get(String) to return an appropriate
Similarity (for example, using field-specific parameter values) for the field.
|Constructor and Description|
|Modifier and Type||Method and Description|
Computes the normalization value for a field, given the accumulated state of term processing for this field (see
Compute any collection-level weight (e.g.
public final long computeNorm(FieldInvertState state)
Matches in longer fields are less precise, so implementations of this
method usually set smaller values when
state.getLength() is large,
and larger values when
state.getLength() is small.
Note that for a given term-document frequency, greater unsigned norms
must produce scores that are lower or equal, ie. for two encoded norms
n2 so that
Long.compareUnsigned(n1, n2) > 0 then
SimScorer.score(freq, n1) <= SimScorer.score(freq, n2)
for any legal
0 is not a legal norm, so
1 is the norm that produces
the highest scores.
state- current processing state for this field
public final Similarity.SimScorer scorer(float boost, CollectionStatistics collectionStats, TermStatistics... termStats)
boost- a multiplicative factor to apply to the produces scores
collectionStats- collection-level statistics, such as the number of tokens in the collection.
termStats- term-level statistics, such as the document frequency of a term across the collection.
public abstract Similarity get(String name)
Similarityfor scoring a field.
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.