Запрос match
- это высокоуровневый запрос, который в случае необходимости использует запрос term
.
Оценка не имеет ничего общего с использованием match
вместо term
. Оценка набирает обороты, когда вы используете bool/must/should
вместо bool/filter
.
Вот как работает запрос match
:
Сначала проверяется типполе.
- Если это поле
text
, то значение будет проанализировано либо с помощью анализатора, указанного в запросе (если есть), либо с указанным анализатором времени поиска или индексав отображении. - Если это поле
keyword
(как в вашем случае), то входные данные не анализируются и принимаются "как есть"
Поскольку вы используетезапрос match
для поля keyword
и ваши входные данные представляют собой один термин, ничего не анализируется, а запрос match
прибегает к использованию запроса term
внизу. Вот почему вы видите те же результаты.
В общем, всегда лучше использовать запрос match
, поскольку он достаточно умен, чтобы знать, что делать, учитывая поле, которое вы запрашиваете, и вводданные, которые вы ищете.
Вы можете узнать больше о разнице между этими двумя здесь .