Elasticsearch Java HighLevelRestClient, как создать индекс not_analyzed? - PullRequest
0 голосов
/ 25 октября 2019

Я использую HighLevelRestClient 7.4.0, и мне любопытно, как я могу создать поле not_analyzed при индексации документов с использованием Index API.

Проблема заключается в том, что я пытаюсь реализовать поиск фильмов по названиюи если я ищу «матрицу», она возвращает правильные результаты, но если я ищу «матрицу», она возвращает почти каждый фильм, в заголовке которого есть «(») (это было в случае с matchQuery).

Я перешел на использование termQuery, но теперь, когда я ищу «матрицу», она возвращает правильные результаты, когда я ищу «Матрицу», она ничего не находит, и то же самое происходит с «матрицей».

Полагаю, проблема в том, что при индексации документов каждое текстовое поле анализируется по умолчанию. Как я могу создать not_analyzed индексы?

Сейчас я индексирую фильмы, просто конвертируя структуру данных в Json с помощью GSON.

1 Ответ

0 голосов
/ 25 октября 2019

Вместо matchQuery или termQuery мне пришлось использовать matchPhraseQuery, чтобы правильно выполнить поиск.

...