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

Methods
`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 Detail

#### 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.