Class MultiMatchQueryBuilder
- All Implemented Interfaces:
NamedWriteable,Writeable,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentObject,QueryBuilder,Rewriteable<QueryBuilder>
public class MultiMatchQueryBuilder extends AbstractQueryBuilder<MultiMatchQueryBuilder>
MatchQueryBuilder but supports multiple fields.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultiMatchQueryBuilder.TypeNested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.ParamsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_FUZZY_TRANSPOSITIONSstatic intDEFAULT_MAX_EXPANSIONSstatic OperatorDEFAULT_OPERATORstatic intDEFAULT_PHRASE_SLOPstatic intDEFAULT_PREFIX_LENGTHstatic MultiMatchQueryBuilder.TypeDEFAULT_TYPEstatic MatchQuery.ZeroTermsQueryDEFAULT_ZERO_TERMS_QUERYstatic java.lang.StringNAMEFields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryName -
Constructor Summary
Constructors Constructor Description MultiMatchQueryBuilder(java.lang.Object value, java.lang.String... fields)Constructs a new text query.MultiMatchQueryBuilder(StreamInput in)Read from a stream. -
Method Summary
Modifier and Type Method Description java.lang.Stringanalyzer()MultiMatchQueryBuilderanalyzer(java.lang.String analyzer)Explicitly set the analyzer to use.booleanautoGenerateSynonymsPhraseQuery()Whether phrase queries should be automatically generated for multi terms synonyms.MultiMatchQueryBuilderautoGenerateSynonymsPhraseQuery(boolean enable)java.lang.FloatcutoffFrequency()MultiMatchQueryBuildercutoffFrequency(float cutoff)Deprecated.Since max_score optimization landed in 7.0, normal MultiMatchQuery will achieve the same result without any configuration.MultiMatchQueryBuildercutoffFrequency(java.lang.Float cutoff)Deprecated.Since max_score optimization landed in 7.0, normal MultiMatchQuery will achieve the same result without any configuration.protected booleandoEquals(MultiMatchQueryBuilder other)Indicates whether some otherQueryBuilderobject of the same type is "equal to" this one.protected intdoHashCode()protected org.apache.lucene.search.QuerydoToQuery(QueryShardContext context)protected voiddoWriteTo(StreamOutput out)voiddoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)MultiMatchQueryBuilderfield(java.lang.String field)Adds a field to run the multi match against.MultiMatchQueryBuilderfield(java.lang.String field, float boost)Adds a field to run the multi match against with a specific boost.java.util.Map<java.lang.String,java.lang.Float>fields()MultiMatchQueryBuilderfields(java.util.Map<java.lang.String,java.lang.Float> fields)Add several fields to run the query against with a specific boost.static MultiMatchQueryBuilderfromXContent(org.elasticsearch.common.xcontent.XContentParser parser)Fuzzinessfuzziness()MultiMatchQueryBuilderfuzziness(java.lang.Object fuzziness)Sets the fuzziness used when evaluated to a fuzzy query type.java.lang.StringfuzzyRewrite()MultiMatchQueryBuilderfuzzyRewrite(java.lang.String fuzzyRewrite)booleanfuzzyTranspositions()MultiMatchQueryBuilderfuzzyTranspositions(boolean fuzzyTranspositions)Sets whether transpositions are supported in fuzzy queries.MultiMatchQueryBuilder.TypegetType()Returns the type (for testing)java.lang.StringgetWriteableName()Returns the name of the writeable objectbooleanlenient()MultiMatchQueryBuilderlenient(boolean lenient)Sets whether format based failures will be ignored.intmaxExpansions()MultiMatchQueryBuildermaxExpansions(int maxExpansions)When using fuzzy or prefix type query, the number of term expansions to use.java.lang.StringminimumShouldMatch()MultiMatchQueryBuilderminimumShouldMatch(java.lang.String minimumShouldMatch)Operatoroperator()MultiMatchQueryBuilderoperator(Operator operator)Sets the operator to use when using a boolean query.intprefixLength()MultiMatchQueryBuilderprefixLength(int prefixLength)intslop()MultiMatchQueryBuilderslop(int slop)Set the phrase slop if evaluated to a phrase query type.java.lang.FloattieBreaker()MultiMatchQueryBuildertieBreaker(float tieBreaker)Tie-Breaker for "best-match" disjunction queries (OR-Queries).MultiMatchQueryBuildertieBreaker(java.lang.Float tieBreaker)Tie-Breaker for "best-match" disjunction queries (OR-Queries).MultiMatchQueryBuilder.Typetype()MultiMatchQueryBuildertype(java.lang.Object type)Sets the type of the text query.MultiMatchQueryBuildertype(MultiMatchQueryBuilder.Type type)Sets the type of the text query.java.lang.Objectvalue()MatchQuery.ZeroTermsQueryzeroTermsQuery()MultiMatchQueryBuilderzeroTermsQuery(MatchQuery.ZeroTermsQuery zeroTermsQuery)Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, checkNegativeBoost, declareStandardFields, doRewrite, equals, extractInnerHitBuilders, getName, hashCode, parseInnerQueryBuilder, printBoostAndQueryName, queryName, queryName, requireValue, rewrite, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeTo
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
DEFAULT_TYPE
-
DEFAULT_OPERATOR
-
DEFAULT_PHRASE_SLOP
public static final int DEFAULT_PHRASE_SLOP- See Also:
- Constant Field Values
-
DEFAULT_PREFIX_LENGTH
public static final int DEFAULT_PREFIX_LENGTH- See Also:
- Constant Field Values
-
DEFAULT_MAX_EXPANSIONS
public static final int DEFAULT_MAX_EXPANSIONS- See Also:
- Constant Field Values
-
DEFAULT_ZERO_TERMS_QUERY
-
DEFAULT_FUZZY_TRANSPOSITIONS
public static final boolean DEFAULT_FUZZY_TRANSPOSITIONS- See Also:
- Constant Field Values
-
-
Constructor Details
-
MultiMatchQueryBuilder
public MultiMatchQueryBuilder(java.lang.Object value, java.lang.String... fields)Constructs a new text query. -
MultiMatchQueryBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
getType
Returns the type (for testing) -
doWriteTo
- Specified by:
doWriteToin classAbstractQueryBuilder<MultiMatchQueryBuilder>- Throws:
java.io.IOException
-
value
public java.lang.Object value() -
field
Adds a field to run the multi match against. -
field
Adds a field to run the multi match against with a specific boost. -
fields
Add several fields to run the query against with a specific boost. -
fields
public java.util.Map<java.lang.String,java.lang.Float> fields() -
type
Sets the type of the text query. -
type
Sets the type of the text query. -
type
-
operator
Sets the operator to use when using a boolean query. Defaults toOR. -
operator
-
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 java.lang.String analyzer() -
slop
Set the phrase slop if evaluated to a phrase query type. -
slop
public int slop() -
fuzziness
Sets the fuzziness used when evaluated to a fuzzy query type. Defaults to "AUTO". -
fuzziness
-
prefixLength
-
prefixLength
public int prefixLength() -
maxExpansions
When using fuzzy or prefix type query, the number of term expansions to use. Defaults to unbounded so its recommended to set it to a reasonable value for faster execution. -
maxExpansions
public int maxExpansions() -
minimumShouldMatch
-
minimumShouldMatch
public java.lang.String minimumShouldMatch() -
fuzzyRewrite
-
fuzzyRewrite
public java.lang.String fuzzyRewrite() -
tieBreaker
Tie-Breaker for "best-match" disjunction queries (OR-Queries). The tie breaker capability allows documents that match more than one query clause (in this case on more than one field) to be scored better than documents that match only the best of the fields, without confusing this with the better case of two distinct matches in the multiple fields.
A tie-breaker value of
1.0is interpreted as a signal to score queries as "most-match" queries where all matching query clauses are considered for scoring.- See Also:
MultiMatchQueryBuilder.Type
-
tieBreaker
Tie-Breaker for "best-match" disjunction queries (OR-Queries). The tie breaker capability allows documents that match more than one query clause (in this case on more than one field) to be scored better than documents that match only the best of the fields, without confusing this with the better case of two distinct matches in the multiple fields.
A tie-breaker value of
1.0is interpreted as a signal to score queries as "most-match" queries where all matching query clauses are considered for scoring.- See Also:
MultiMatchQueryBuilder.Type
-
tieBreaker
public java.lang.Float tieBreaker() -
lenient
Sets whether format based failures will be ignored. -
lenient
public boolean lenient() -
cutoffFrequency
Deprecated.Since max_score optimization landed in 7.0, normal MultiMatchQuery will achieve the same result without any configuration.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
Deprecated.Since max_score optimization landed in 7.0, normal MultiMatchQuery will achieve the same result without any configuration.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 java.lang.Float cutoffFrequency() -
zeroTermsQuery
-
zeroTermsQuery
-
autoGenerateSynonymsPhraseQuery
-
autoGenerateSynonymsPhraseQuery
public boolean autoGenerateSynonymsPhraseQuery()Whether phrase queries should be automatically generated for multi terms synonyms. Defaults totrue. -
fuzzyTranspositions
public boolean fuzzyTranspositions() -
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. -
doXContent
public void doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Specified by:
doXContentin classAbstractQueryBuilder<MultiMatchQueryBuilder>- Throws:
java.io.IOException
-
fromXContent
public static MultiMatchQueryBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException- Throws:
java.io.IOException
-
getWriteableName
public java.lang.String getWriteableName()Description copied from interface:NamedWriteableReturns the name of the writeable object -
doToQuery
protected org.apache.lucene.search.Query doToQuery(QueryShardContext context) throws java.io.IOException- Specified by:
doToQueryin classAbstractQueryBuilder<MultiMatchQueryBuilder>- Throws:
java.io.IOException
-
doHashCode
protected int doHashCode()- Specified by:
doHashCodein classAbstractQueryBuilder<MultiMatchQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilderIndicates whether some otherQueryBuilderobject of the same type is "equal to" this one.- Specified by:
doEqualsin classAbstractQueryBuilder<MultiMatchQueryBuilder>
-