We are working on updating this book for the latest version. Some content might be out of date.
The multi_match
query provides
a convenient shorthand way of running
the same query against multiple fields.
![Note](images/icons/note.png)
There are several types of multi_match
query, three of which just
happen to coincide with the three scenarios that we listed in
Know Your Data: best_fields
, most_fields
, and cross_fields
.
By default, this query runs as type best_fields
, which means
that it generates a
match
query for each field and wraps them in a dis_max
query. This
dis_max
query
{ "dis_max": { "queries": [ { "match": { "title": { "query": "Quick brown fox", "minimum_should_match": "30%" } } }, { "match": { "body": { "query": "Quick brown fox", "minimum_should_match": "30%" } } }, ], "tie_breaker": 0.3 } }
could be rewritten more concisely with multi_match
as follows:
{ "multi_match": { "query": "Quick brown fox", "type": "best_fields","fields": [ "title", "body" ], "tie_breaker": 0.3, "minimum_should_match": "30%"
} }
The | |
Parameters like |
Field names can be specified with wildcards: any field that matches the
wildcard pattern
will be included in the search. You could match on the
book_title
, chapter_title
, and section_title
fields, with the following:
{ "multi_match": { "query": "Quick brown fox", "fields": "*_title" } }