Class MatchQueryBuilder

All Implemented Interfaces:
org.opensearch.core.common.io.stream.NamedWriteable, org.opensearch.core.common.io.stream.Writeable, org.opensearch.core.xcontent.ToXContent, org.opensearch.core.xcontent.ToXContentObject, QueryBuilder, Rewriteable<QueryBuilder>, WithFieldName

public class MatchQueryBuilder extends AbstractQueryBuilder<MatchQueryBuilder> implements WithFieldName
Match query is a query that analyzes the text and constructs a query as the result of the analysis.
Opensearch.internal:
  • Field Details

    • ZERO_TERMS_QUERY_FIELD

      public static final org.opensearch.core.ParseField ZERO_TERMS_QUERY_FIELD
    • CUTOFF_FREQUENCY_FIELD

      @Deprecated public static final org.opensearch.core.ParseField CUTOFF_FREQUENCY_FIELD
      Deprecated.
      Since max_optimization optimization landed in 7.0, normal MatchQuery will achieve the same result without any configuration.
    • LENIENT_FIELD

      public static final org.opensearch.core.ParseField LENIENT_FIELD
    • FUZZY_TRANSPOSITIONS_FIELD

      public static final org.opensearch.core.ParseField FUZZY_TRANSPOSITIONS_FIELD
    • FUZZY_REWRITE_FIELD

      public static final org.opensearch.core.ParseField FUZZY_REWRITE_FIELD
    • MINIMUM_SHOULD_MATCH_FIELD

      public static final org.opensearch.core.ParseField MINIMUM_SHOULD_MATCH_FIELD
    • OPERATOR_FIELD

      public static final org.opensearch.core.ParseField OPERATOR_FIELD
    • MAX_EXPANSIONS_FIELD

      public static final org.opensearch.core.ParseField MAX_EXPANSIONS_FIELD
    • PREFIX_LENGTH_FIELD

      public static final org.opensearch.core.ParseField PREFIX_LENGTH_FIELD
    • ANALYZER_FIELD

      public static final org.opensearch.core.ParseField ANALYZER_FIELD
    • QUERY_FIELD

      public static final org.opensearch.core.ParseField QUERY_FIELD
    • GENERATE_SYNONYMS_PHRASE_QUERY

      public static final org.opensearch.core.ParseField GENERATE_SYNONYMS_PHRASE_QUERY
    • NAME

      public static final String NAME
      The name for the match query
      See Also:
    • DEFAULT_OPERATOR

      public static final Operator DEFAULT_OPERATOR
      The default mode terms are combined in a match query
  • Constructor Details

    • MatchQueryBuilder

      public MatchQueryBuilder(String fieldName, Object value)
      Constructs a new match query.
    • MatchQueryBuilder

      public MatchQueryBuilder(org.opensearch.core.common.io.stream.StreamInput in) throws IOException
      Read from a stream.
      Throws:
      IOException
  • Method Details

    • doWriteTo

      protected void doWriteTo(org.opensearch.core.common.io.stream.StreamOutput out) throws IOException
      Specified by:
      doWriteTo in class AbstractQueryBuilder<MatchQueryBuilder>
      Throws:
      IOException
    • fieldName

      public String fieldName()
      Returns the field name used in this query.
      Specified by:
      fieldName in interface WithFieldName
    • value

      public Object value()
      Returns the value used in this query.
    • operator

      public MatchQueryBuilder operator(Operator operator)
      Sets the operator to use when using a boolean query. Defaults to OR.
    • operator

      public Operator operator()
      Returns the operator to use in a boolean query.
    • analyzer

      public MatchQueryBuilder analyzer(String analyzer)
      Explicitly set the analyzer to use. Defaults to use explicit mapping config for the field, or, if not set, the default search analyzer.
    • analyzer

      public String analyzer()
      Get the analyzer to use, if previously set, otherwise null
    • fuzziness

      @Deprecated public MatchQueryBuilder fuzziness(Object fuzziness)
      Deprecated.
    • fuzziness

      public MatchQueryBuilder fuzziness(Fuzziness fuzziness)
      Sets the fuzziness used when evaluated to a fuzzy query type. Defaults to "AUTO".
    • fuzziness

      public Fuzziness fuzziness()
      Gets the fuzziness used when evaluated to a fuzzy query type.
    • prefixLength

      public MatchQueryBuilder prefixLength(int prefixLength)
      Sets the length of a length of common (non-fuzzy) prefix for fuzzy match queries
      Parameters:
      prefixLength - non-negative length of prefix
      Throws:
      IllegalArgumentException - in case the prefix is negative
    • prefixLength

      public int prefixLength()
      Gets the length of a length of common (non-fuzzy) prefix for fuzzy match queries
    • maxExpansions

      public MatchQueryBuilder maxExpansions(int maxExpansions)
      When using fuzzy or prefix type query, the number of term expansions to use.
    • maxExpansions

      public int maxExpansions()
      Get the (optional) number of term expansions when using fuzzy or prefix type query.
    • cutoffFrequency

      @Deprecated public MatchQueryBuilder cutoffFrequency(float cutoff)
      Deprecated.
      see CUTOFF_FREQUENCY_FIELD for more details
      Set a cutoff value in [0..1] (or absolute number >=1) representing the maximum threshold of a terms document frequency to be considered a low frequency term.
    • cutoffFrequency

      public Float cutoffFrequency()
      Gets the optional cutoff value, can be null if not set previously
    • minimumShouldMatch

      public MatchQueryBuilder minimumShouldMatch(String minimumShouldMatch)
      Sets optional minimumShouldMatch value to apply to the query
    • minimumShouldMatch

      public String minimumShouldMatch()
      Gets the minimumShouldMatch value
    • fuzzyRewrite

      public MatchQueryBuilder fuzzyRewrite(String fuzzyRewrite)
      Sets the fuzzy_rewrite parameter controlling how the fuzzy query will get rewritten
    • fuzzyRewrite

      public String fuzzyRewrite()
      Get the fuzzy_rewrite parameter
      See Also:
    • fuzzyTranspositions

      public MatchQueryBuilder fuzzyTranspositions(boolean fuzzyTranspositions)
      Sets whether transpositions are supported in fuzzy queries.

      The default metric used by fuzzy queries to determine a match is the Damerau-Levenshtein distance formula which supports transpositions. Setting transposition to false will switch to classic Levenshtein distance.
      If not set, Damerau-Levenshtein distance metric will be used.

    • fuzzyTranspositions

      public boolean fuzzyTranspositions()
      Gets the fuzzy query transposition setting.
    • lenient

      public MatchQueryBuilder lenient(boolean lenient)
      Sets whether format based failures will be ignored.
    • lenient

      public boolean lenient()
      Gets leniency setting that controls if format based failures will be ignored.
    • zeroTermsQuery

      public MatchQueryBuilder zeroTermsQuery(MatchQuery.ZeroTermsQuery zeroTermsQuery)
      Sets query to use in case no query terms are available, e.g. after analysis removed them. Defaults to MatchQuery.ZeroTermsQuery.NONE, but can be set to MatchQuery.ZeroTermsQuery.ALL instead.
    • zeroTermsQuery

      public MatchQuery.ZeroTermsQuery zeroTermsQuery()
      Returns the setting for handling zero terms queries.
    • autoGenerateSynonymsPhraseQuery

      public MatchQueryBuilder autoGenerateSynonymsPhraseQuery(boolean enable)
    • autoGenerateSynonymsPhraseQuery

      public boolean autoGenerateSynonymsPhraseQuery()
      Whether phrase queries should be automatically generated for multi terms synonyms. Defaults to true.
    • doXContent

      public void doXContent(org.opensearch.core.xcontent.XContentBuilder builder, org.opensearch.core.xcontent.ToXContent.Params params) throws IOException
      Specified by:
      doXContent in class AbstractQueryBuilder<MatchQueryBuilder>
      Throws:
      IOException
    • doToQuery

      protected org.apache.lucene.search.Query doToQuery(QueryShardContext context) throws IOException
      Specified by:
      doToQuery in class AbstractQueryBuilder<MatchQueryBuilder>
      Throws:
      IOException
    • doEquals

      protected boolean doEquals(MatchQueryBuilder other)
      Description copied from class: AbstractQueryBuilder
      Indicates whether some other QueryBuilder object of the same type is "equal to" this one.
      Specified by:
      doEquals in class AbstractQueryBuilder<MatchQueryBuilder>
    • doHashCode

      protected int doHashCode()
      Specified by:
      doHashCode in class AbstractQueryBuilder<MatchQueryBuilder>
    • getWriteableName

      public String getWriteableName()
      Specified by:
      getWriteableName in interface org.opensearch.core.common.io.stream.NamedWriteable
    • fromXContent

      public static MatchQueryBuilder fromXContent(org.opensearch.core.xcontent.XContentParser parser) throws IOException
      Throws:
      IOException