Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Анализ текста ›Справочник по фильтрам токенов

Фильтр токенов Keep types

Сохраняет или удаляет токены определённого типа. Например, этот фильтр можно использовать для изменения 3 quick foxes на quick foxes, сохранив только <ALPHANUM> (буквенно-цифровые) токены.

Типы токенов

Типы токенов устанавливаются токенизатором при преобразовании символов в токены. Типы токенов могут различаться между токенизаторами.

Например, токенизатор standard может генерировать различные типы токенов, включая <ALPHANUM>, <HANGUL> и <NUM>. Более простые анализаторы, такие как токенизатор lowercase, генерируют только тип токена word.

Некоторые фильтры токенов также могут добавлять типы токенов. Например, фильтр synonym может добавить тип токена <SYNONYM>.

Этот фильтр использует TypeTokenFilter Lucene.

Пример включения

Следующий запрос API анализа использует фильтр keep_types, чтобы сохранить только <NUM> (числовые) токены из 1 quick fox 2 lazy dogs.

GET _analyze
{
  "tokenizer": "standard",
  "filter": [
    {
      "type": "keep_types",
      "types": [ "<NUM>" ]
    }
  ],
  "text": "1 quick fox 2 lazy dogs"
}

Фильтр генерирует следующие токены:

[ 1, 2 ]

Пример исключения

Следующий запрос API анализа использует фильтр keep_types, чтобы удалить токены <NUM> из 1 quick fox 2 lazy dogs. Обратите внимание, что параметр mode установлен в exclude.

GET _analyze
{
  "tokenizer": "standard",
  "filter": [
    {
      "type": "keep_types",
      "types": [ "<NUM>" ],
      "mode": "exclude"
    }
  ],
  "text": "1 quick fox 2 lazy dogs"
}

Фильтр генерирует следующие токены:

[ quick, fox, lazy, dogs ]

Настраиваемые параметры

types
(Обязательный, массив строк) Список типов токенов для сохранения или удаления.
mode

(Необязательный, строка) Указывает, нужно ли сохранять или удалять указанные типы токенов. Допустимые значения:

include
(По умолчанию) Сохранить только указанные типы токенов.
exclude
Удалить указанные типы токенов.

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

Чтобы настроить фильтр keep_types, дублируйте его, чтобы создать основу для нового пользовательского фильтра токенов. Можно изменить фильтр с помощью настраиваемых параметров.

Например, следующий запрос API создания индекса использует настраиваемый фильтр keep_types для настройки нового пользовательского анализатора. Настраиваемый фильтр keep_types сохраняет только <ALPHANUM> (буквенно-цифровые) токены.

PUT keep_types_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "standard",
          "filter": [ "extract_alpha" ]
        }
      },
      "filter": {
        "extract_alpha": {
          "type": "keep_types",
          "types": [ "<ALPHANUM>" ]
        }
      }
    }
  }
}

© 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-keep-types-tokenfilter.html

Spec-Zone.ru

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