org.apache.lucene.monitor

## Interface TermWeightor

- All Superinterfaces:
    ToDoubleFunction<Term>

      public interface TermWeightor
      extends ToDoubleFunction<Term>

  Calculates the weight of a `Term`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static TermWeightor` | `DEFAULT` A default TermWeightor based on token length

  - ### Method Summary

    All Methods Static Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static TermWeightor` | `combine(TermWeightor... weightors)` Combine weightors by multiplication
    `static TermWeightor` | `fieldWeightor(double weight, Set<String> fields)` QueryTerms with a field from the selected set will be assigned the given weight
    `static TermWeightor` | `fieldWeightor(double weight, String... fields)` QueryTerms with a field from the selected set will be assigned the given weight
    `static TermWeightor` | `lengthWeightor(double a, double k)` QueryTerms will be assigned a weight based on their term length Weights are assigned by the function `a * e ^ (-k * length)`.
    `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
    `static TermWeightor` | `termAndFieldWeightor(double weight, Term... terms)` QueryTerms with a term and field value from the selected set will be assigned the given weight
    `static TermWeightor` | `termFreqWeightor(Map<String,Integer> frequencies, double n, double k)` QueryTerms will be assigned a weight based on their term frequency More infrequent terms are weighted higher.
    `static TermWeightor` | `termWeightor(double weight, BytesRef... terms)` QueryTerms with a term value from the selected set will be assigned the given weight
    `static TermWeightor` | `termWeightor(double weight, Set<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 frequency More 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 value `1`
      Parameters:
        `frequencies` - a map of terms to frequencies
        `n` - a scaling factor
        `k` - the minimum weight to scale to

    - #### lengthWeightor

          static TermWeightor lengthWeightor(double a,
                                             double k)

      QueryTerms will be assigned a weight based on their term length Weights 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` - a
        `k` - k

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.