Package org.apache.lucene.monitor
Interface TermWeightor
- All Superinterfaces:
ToDoubleFunction<Term>
Calculates the weight of a
Term
-
Field Summary
Modifier and TypeFieldDescriptionstatic final TermWeightor
A default TermWeightor based on token length -
Method Summary
Modifier and TypeMethodDescriptionstatic TermWeightor
combine
(TermWeightor... weightors) Combine weightors by multiplicationstatic TermWeightor
fieldWeightor
(double weight, String... fields) QueryTerms with a field from the selected set will be assigned the given weightstatic TermWeightor
fieldWeightor
(double weight, Set<String> fields) QueryTerms with a field from the selected set will be assigned the given weightstatic TermWeightor
lengthWeightor
(double a, double k) QueryTerms will be assigned a weight based on their term lengthstatic TermWeightor
termAndFieldWeightor
(double weight, Set<Term> terms) QueryTerms with a term and field value from the selected set will be assigned the given weightstatic TermWeightor
termAndFieldWeightor
(double weight, Term... terms) QueryTerms with a term and field value from the selected set will be assigned the given weightstatic TermWeightor
termFreqWeightor
(Map<String, Integer> frequencies, double n, double k) QueryTerms will be assigned a weight based on their term frequencystatic TermWeightor
termWeightor
(double weight, Set<BytesRef> terms) QueryTerms with a term value from the selected set will be assigned the given weightstatic TermWeightor
termWeightor
(double weight, BytesRef... terms) QueryTerms with a term value from the selected set will be assigned the given weightMethods inherited from interface java.util.function.ToDoubleFunction
applyAsDouble
-
Field Details
-
DEFAULT
A default TermWeightor based on token length
-
-
Method Details
-
combine
Combine weightors by multiplication -
fieldWeightor
QueryTerms with a field from the selected set will be assigned the given weight -
fieldWeightor
QueryTerms with a field from the selected set will be assigned the given weight -
termWeightor
QueryTerms with a term value from the selected set will be assigned the given weight -
termWeightor
QueryTerms with a term value from the selected set will be assigned the given weight -
termAndFieldWeightor
QueryTerms with a term and field value from the selected set will be assigned the given weight -
termAndFieldWeightor
QueryTerms with a term and field value from the selected set will be assigned the given weight -
termFreqWeightor
QueryTerms will be assigned a weight based on their term frequencyMore infrequent terms are weighted higher. Terms are weighted according to the function
w = (n / freq) + k
. Terms with no associated frequency receive a weight of value1
- Parameters:
frequencies
- a map of terms to frequenciesn
- a scaling factork
- the minimum weight to scale to
-
lengthWeightor
QueryTerms will be assigned a weight based on their term lengthWeights are assigned by the function
a * e ^ (-k * length)
. Longer terms are weighted higher. Terms of length greater than 32 all receive the same weight.- Parameters:
a
- ak
- k
-