Как в ElasticSearch искать только при совпадении всех слов?

У меня есть каталог товаров. В Elastic хранятся все атрибуты и описание. Когда я ищу фразу, я хочу, чтобы мне отображались только те товары, где есть попадание всех атрибутов. Например сейчас, когда я ищу по "black jacket xxl", мне помимо полного совпадения выводятся также те, у кого есть "black jacket", "black xxl" и тому подобные. Ищу такой конструкцией:

'match' => [
	'message' => [
		'query'    => 'black jacket xxl',
		'operator' => 'and'
	]
]


И да, "black jacket xxl" по сути поиск по 3м полям - цвет, тип и размер.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
bakotin
@bakotin
Бекенд-разработчик
Используй "match_phrase" - он ищет по совпадению фразы, а не каждого слова
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы