Package org.apache.lucene.monitor
Interface TermWeightor
-
- All Superinterfaces:
ToDoubleFunction<Term>
public interface TermWeightor extends ToDoubleFunction<Term>
Calculates the weight of aTerm
-
-
Field Summary
Fields Modifier and Type Field Description static TermWeightor
DEFAULT
A default TermWeightor based on token length
-
Method Summary
Static Methods Modifier and Type Method Description static 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 weight-
Methods inherited from interface java.util.function.ToDoubleFunction
applyAsDouble
-
-
-
-
Field Detail
-
DEFAULT
static final TermWeightor DEFAULT
A default TermWeightor based on token length
-
-
Method Detail
-
combine
static TermWeightor combine(TermWeightor... weightors)
Combine weightors by multiplication
-
fieldWeightor
static TermWeightor fieldWeightor(double weight, Set<String> fields)
QueryTerms with a field from the selected set will be assigned the given weight
-
fieldWeightor
static TermWeightor fieldWeightor(double weight, String... fields)
QueryTerms with a field from the selected set will be assigned the given weight
-
termWeightor
static TermWeightor termWeightor(double weight, Set<BytesRef> terms)
QueryTerms with a term value from the selected set will be assigned the given weight
-
termWeightor
static TermWeightor termWeightor(double weight, BytesRef... terms)
QueryTerms with a term value from the selected set will be assigned the given weight
-
termAndFieldWeightor
static TermWeightor termAndFieldWeightor(double weight, Set<Term> terms)
QueryTerms with a term and field value from the selected set will be assigned the given weight
-
termAndFieldWeightor
static TermWeightor termAndFieldWeightor(double weight, Term... terms)
QueryTerms with a term and field value from the selected set will be assigned the given weight
-
termFreqWeightor
static TermWeightor termFreqWeightor(Map<String,Integer> frequencies, double n, double k)
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
static TermWeightor lengthWeightor(double a, double k)
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
-
-