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.