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

Справочник токенизаторов

Токенизатор получает поток символов, разбивает его на отдельные токены (обычно отдельные слова) и выводит поток токенов. Например, токенизатор whitespace разбивает текст на токены всякий раз, когда встречает пробелы. Он преобразует текст "Quick brown fox!" в термины [Quick, brown, fox!].

Токенизатор также отвечает за запись следующего:

  • Порядок или позиция каждого термина (используется для запросов по фразам и близости слов)
  • Начальные и конечные смещения символов исходного слова, которое представляет термин (используется для выделения фрагментов поиска).
  • Тип токена, классификация каждого созданного термина, например, <ALPHANUM>, <HANGUL> или <NUM>. Более простые анализаторы генерируют только тип токена word.

Elasticsearch имеет ряд встроенных токенизаторов, которые можно использовать для создания настраиваемых анализаторов.

Токенизаторы, ориентированные на слова

Следующие токенизаторы обычно используются для разбиения полного текста на отдельные слова:

Стандартный токенизатор
Токенизатор standard делит текст на термины на границах слов, как определено алгоритмом Unicode Text Segmentation. Он удаляет большинство знаков препинания. Это лучший выбор для большинства языков.
Токенизатор по буквам
Токенизатор letter разбивает текст на термины всякий раз, когда встречает символ, который не является буквой.
Токенизатор с нижним регистром
Токенизатор lowercase, как и токенизатор letter, разбивает текст на термины всякий раз, когда встречает символ, который не является буквой, но также переводит все термины в нижний регистр.
Токенизатор по пробелам
Токенизатор whitespace разбивает текст на термины всякий раз, когда встречается любой пробельный символ.
Токенизатор UAX URL/email
Токенизатор uax_url_email похож на токенизатор standard, за исключением того, что он распознаёт URL-адреса и адреса электронной почты как отдельные токены.
Классический токенизатор
Токенизатор classic - это грамматически основанный токенизатор для английского языка.
Токенизатор тайского языка
Токенизатор thai разбивает текст на тайском языке на слова.

Токенизаторы частичных слов

Эти токенизаторы разбивают текст или слова на небольшие фрагменты для частичного совпадения слов:

N-грамный токенизатор
Токенизатор ngram может разбивать текст на слова, когда встречает любой из указанных символов (например, пробелы или знаки препинания), а затем возвращает n-граммы каждого слова: скользящее окно из непрерывных букв, например, quick → [qu, ui, ic, ck].
Токенизатор пограничных n-грамм
Токенизатор edge_ngram может разбивать текст на слова, когда встречает любой из указанных символов (например, пробелы или знаки препинания), а затем возвращает n-граммы каждого слова, привязанные к началу слова, например, quick → [q, qu, qui, quic, quick].

Токенизаторы структурированного текста

Следующие токенизаторы обычно используются со структурированным текстом, таким как идентификаторы, адреса электронной почты, почтовые индексы и пути, а не с полным текстом:

Токенизатор ключевых слов
Токенизатор keyword — это «пустой» токенизатор, который принимает любой вводимый текст и выводит точно такой же текст как один термин. Его можно комбинировать с фильтрами токенов, например, с lowercase, для нормализации анализируемых терминов.
Шаблонный токенизатор
Токенизатор pattern использует регулярное выражение, чтобы либо разбивать текст на термины всякий раз, когда он находит разделитель слов, либо для захвата совпавшего текста как терминов.
Простой шаблонный токенизатор
Токенизатор simple_pattern использует регулярное выражение для захвата совпавшего текста в качестве терминов. Он использует ограниченный подмножество функций регулярных выражений и, как правило, быстрее, чем токенизатор pattern.
Токенизатор группы символов
Токенизатор char_group настраивается через наборы символов для разбиения, что обычно менее затратно по сравнению с выполнением регулярных выражений.
Токенизатор простого разбиения по шаблону
Токенизатор simple_pattern_split использует то же ограниченное подмножество регулярных выражений, что и токенизатор simple_pattern, но разбивает входные данные по совпадениям, а не возвращает совпадения как термины.
Токенизатор иерархии путей
Токенизатор path_hierarchy принимает иерархическое значение, например, путь в файловой системе, разбивает его по разделителю пути и генерирует термин для каждого компонента в дереве, например, /foo/bar/baz → [/foo, /foo/bar, /foo/bar/baz ].

© 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-tokenizers.html

Spec-Zone.ru

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