Interface MaxNonCompetitiveBoostAttribute

All Superinterfaces:
Attribute
All Known Implementing Classes:
MaxNonCompetitiveBoostAttributeImpl

public interface MaxNonCompetitiveBoostAttribute extends Attribute
Add this Attribute to a fresh AttributeSource before calling MultiTermQuery.getTermsEnum(Terms,AttributeSource). FuzzyQuery is using this to control its internal behaviour to only return competitive terms.

Please note: This attribute is intended to be added by the MultiTermQuery.RewriteMethod to an empty AttributeSource that is shared for all segments during query rewrite. This attribute source is passed to all segment enums on MultiTermQuery.getTermsEnum(Terms,AttributeSource). TopTermsRewrite uses this attribute to inform all enums about the current boost, that is not competitive.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Method Summary

    Modifier and Type
    Method
    Description
    This is the term or null of the term that triggered the boost change.
    float
    This is the maximum boost that would not be competitive.
    void
    setCompetitiveTerm(BytesRef competitiveTerm)
    This is the term or null of the term that triggered the boost change.
    void
    setMaxNonCompetitiveBoost(float maxNonCompetitiveBoost)
    This is the maximum boost that would not be competitive.
  • Method Details

    • setMaxNonCompetitiveBoost

      void setMaxNonCompetitiveBoost(float maxNonCompetitiveBoost)
      This is the maximum boost that would not be competitive.
    • getMaxNonCompetitiveBoost

      float getMaxNonCompetitiveBoost()
      This is the maximum boost that would not be competitive. Default is negative infinity, which means every term is competitive.
    • setCompetitiveTerm

      void setCompetitiveTerm(BytesRef competitiveTerm)
      This is the term or null of the term that triggered the boost change.
    • getCompetitiveTerm

      BytesRef getCompetitiveTerm()
      This is the term or null of the term that triggered the boost change. Default is null, which means every term is competitoive.