Это из руководства Elasticsearch (https://www.elastic.co/guide/en/elasticsearch/guide/master/_how_match_uses_bool.html)
С оператором and все термины запросов добавляются как обязательные предложения,
поэтому все пункты должны совпадать. Эти два запроса эквивалентны:
{
"match": {
"title": {
"query": "brown fox",
"operator": "and"
}
}
}
{
"bool": {
"must": [
{ "term": { "title": "brown" }},
{ "term": { "title": "fox" }}
]
}
}
Они одинаковы, за исключением того, что match
анализирует запрос, но term
нет? или они действительно эквивалентны?