эластичный поиск: получить точные результаты поиска - PullRequest
0 голосов
/ 05 июня 2018

У меня есть эластичный поисковый индекс с документами, имеющими поле "backend_name", например: - google, goolge_staging, google_stg1 и т. Д.

Я хочу только те документы, которые имеют "backend_name" = google

Я пытаюсь использовать термин запроса следующим образом:

{ "query": { "term": { "backend_name": "google" } } }

Но он возвращает мне документ с именем "backend_name" в виде goolge_staging, тоже google_stg1.Я хочу просто документ с именем "backend_name" = google.

Один из способов решения этой проблемы - не указывать в списке goolge_staging, google_stg1 и т. Д., Но я хочу найти лучший способ.Предложения?

1 Ответ

0 голосов
/ 05 июня 2018

Это очевидно из-за используемого вами сопоставления.

Посмотрите на документацию Elasticsearch term query

Попробуйте изменить тип сопоставления на ключевое слово, чтобыэто соответствует только если это точное соответствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...