Отключение поискового анализатора Elasticsearch - PullRequest
3 голосов
/ 28 июня 2019
  • Я работаю над эластичным поиском версии 7.2, и я в
    процесс повышения производительности вызовов ES, сделанных
    применение.
  • Из того, что я прочитал, если мы не установили "анализатор поиска", будет установлен стандартный анализатор по умолчанию.
  • Но в случае, когда анализатор не нужен, имея анализатор может повлиять на производительность. Делать все поля в качестве "ключевых слов" это мешает?
  • Или есть какой-либо другой способ отключить этот «поисковый анализатор»

Ps: Для любого ответа, если бы вы могли указать мне на официальную документацию ES, на которой основан ответ, я буду очень признателен.

1 Ответ

3 голосов
/ 28 июня 2019

Существуют различные сценарии, когда анализаторы поиска входят в картину.

Тип запроса : - Некоторые запросы анализируются, а некоторые - нет.запросы, которые анализируются, например match query , используют тот же анализатор для полей, которые были определены в отображении индекса, в то время как запросы, подобные term query , не используют анализатор времени поиска.Прочитайте совпадение эластичного поиска с запросом термина

Также фрагмент из официального документа ES

Запрос на совпадение имеет тип boolean.Это означает, что предоставленный текст анализируется, и процесс анализа создает логический запрос из предоставленного текста.

Тип полей : текстовые поля анализируются по умолчанию, и стандартный анализаторанализатор по умолчанию для них, следовательно, если вы не определите анализатор для текстовых полей в отображении индекса, а затем создадите запрос на совпадение, он будет использовать анализатор standard, но если вы используете запрос term, он не будет использоватьанализатор времени поиска.
Хотя если вы используете keyword поля, то он будет использовать анализатор ключевых слов, который не анализатор, следовательно, для запроса соответствия по полям ключевых слов он будет использовать анализатор ключевых слов, но по сути это похоже на применение нетанализатор времени поиска.

Если вы используете запрос на совпадение или любой другой анализируемый запрос, который использует анализаторы времени поиска, то вы можете явно указать анализатор времени поиска как анализатор ключевых слов ,который, как я объяснил, является неоперативным анализатором, следовательно, процесс генерации токенов будеточень эффективно.

А пока я посмотрю, сможем ли мы явно отключить анализаторы времени поиска.

...