Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Анализ текста

Обзор анализа текста

Анализ текста позволяет Elasticsearch выполнять полнотекстовый поиск, где результаты поиска возвращают все релевантные результаты, а не только точные совпадения.

Если вы ищете Quick fox jumps, вы, вероятно, хотите документ, который содержит A quick brown fox jumps over the lazy dog, и вы также можете захотеть документы, содержащие родственные слова, такие как fast fox или foxes leap.

Токенизация

Анализ делает полнотекстовый поиск возможным благодаря токенизации: разделению текста на более мелкие части, называемые токенами. В большинстве случаев эти токены являются отдельными словами.

Если вы индексируете фразу the quick brown fox jumps как одну строку, а пользователь ищет quick fox, это не считается совпадением. Однако если вы токенизируете фразу и индексируете каждое слово отдельно, термины в строке запроса можно искать индивидуально. Это означает, что они могут быть сопоставлены с поисками quick fox, fox brown или другими вариациями.

Нормализация

Токенизация позволяет соответствовать отдельным терминам, но каждый токен по-прежнему сопоставляется буквально. Это означает:

  • Поиск Quick не будет соответствовать quick, даже если вы, вероятно, хотите, чтобы любой термин соответствовал другому
  • Хотя fox и foxes имеют одинаковое корневое слово, поиск foxes не будет соответствовать fox и наоборот.
  • Поиск jumps не будет соответствовать leaps. Хотя у них нет общего корневого слова, они являются синонимами и имеют схожее значение.

Для решения этих проблем анализ текста может нормализовать эти токены в стандартном формате. Это позволяет сопоставлять токены, которые не являются точным совпадением с поисковыми терминами, но достаточно похожи, чтобы быть релевантными. Например:

  • Quick может быть приведён к нижнему регистру: quick.
  • foxes может быть приведён к основанию или сокращён до корневого слова: fox.
  • jump и leap являются синонимами и могут быть индексированы как одно слово: jump.

Чтобы убедиться, что поисковые термины соответствуют этим словам должным образом, вы можете применить те же правила токенизации и нормализации к строке запроса. Например, поиск Foxes leap может быть нормализован в поиск fox jump.

Настройка анализа текста

Анализ текста выполняется анализатором, набором правил, которые управляют всем процессом.

Elasticsearch включает в себя стандартный анализатор, который хорошо подходит для большинства случаев использования.

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

  • Изменения в тексте до токенизации
  • Способ преобразования текста в токены
  • Изменения в нормализации токенов перед индексированием или поиском

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/analysis-overview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API