MaxNonCompetitiveBoostAttribute (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.search, interface: MaxNonCompetitiveBoostAttribute

Package org.apache.lucene.search

# 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
  `BytesRef`
  `getCompetitiveTerm()`
  This is the term or `null` of the term that triggered the boost change.
  `float`
  `getMaxNonCompetitiveBoost()`
  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.