Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Анализ текста ›Концепции анализа текста

Структура анализатора

Анализатор — будь то встроенный или настраиваемый — представляет собой набор из трёх блоков низшего уровня: фильтры символов, разделители токенов и фильтры токенов.

Встроенные анализаторы объединяют эти блоки в анализаторы, подходящие для различных языков и типов текста. Elasticsearch также предоставляет отдельные блоки, позволяющие комбинировать их для определения новых custom анализаторов.

Фильтры символов

Фильтр символов получает исходный текст в виде потока символов и может преобразовывать поток, добавляя, удаляя или изменяя символы. Например, фильтр символов может использоваться для преобразования индусско-арабских цифр (٠‎١٢٣٤٥٦٧٨‎٩‎) в их арабско-латинские эквиваленты (0123456789) или для удаления HTML-элементов, таких как <b> из потока.

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

Разделитель токенов

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

Разделитель токенов также отвечает за запись порядка или позиции каждого термина и начальных и конечных символьных смещений исходного слова, которое представляет термин.

Анализатор должен иметь ровно один разделитель токенов.

Фильтры токенов

Фильтр токенов получает поток токенов и может добавлять, удалять или изменять токены. Например, фильтр токенов lowercase преобразует все токены в нижний регистр, фильтр токенов stop удаляет общие слова (стоп-слова), такие как the из потока токенов, а фильтр токенов synonym вводит синонимы в поток токенов.

Фильтры токенов не должны изменять позицию или символьные смещения каждого токена.

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

© 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/8.17/analyzer-anatomy.html

Spec-Zone.ru

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