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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 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.

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