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

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

Обеспечивает алгоритмическое стеммирование для нескольких языков, некоторые с дополнительными вариантами. Список поддерживаемых языков см. в параметре language.

Если не настроен, фильтр использует алгоритм стеммирования Портера для английского языка.

Пример

Следующий запрос API анализа использует алгоритм стеммирования Портера по умолчанию фильтра stemmer для стеммирования the foxes jumping quickly до the fox jump quickli:

GET /_analyze
{
  "tokenizer": "standard",
  "filter": [ "stemmer" ],
  "text": "the foxes jumping quickly"
}

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

[ the, fox, jump, quickli ]

Добавление в анализатор

Следующий запрос API создания индекса API создания индекса использует фильтр stemmer для настройки нового пользовательского анализатора.

PUT /my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "whitespace",
          "filter": [ "stemmer" ]
        }
      }
    }
  }
}

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

language

(Необязательный, строка) Языковой алгоритм стеммирования, используемый для стеммирования токенов. Если указаны оба этого и параметра name, используется значение параметра language.

Допустимые значения для language

Допустимые значения отсортированы по языку. По умолчанию english. Рекомендуемые алгоритмы выделены полужирным шрифтом.

Арабский
arabic
Армянский
armenian
Баскский
basque
Бенгальский
bengali
Бразильский португальский
brazilian
Болгарский
bulgarian
Каталонский
catalan
Чешский
czech
Датский
danish
Голландский
dutch, dutch_kp
Английский
english, light_english, lovins, minimal_english, porter2, possessive_english
Эстонский
estonian
Финский
finnish, light_finnish
Французский
light_french, french, minimal_french
Галисийский
galician, minimal_galician (Только шаг множественного числа)
Немецкий
light_german, german, german2, minimal_german
Греческий
greek
Хинди
hindi
Венгерский
hungarian, light_hungarian
Индонезийский
indonesian
Ирландский
irish
Итальянский
light_italian, italian
Курдский (сорани)
sorani
Латвийский
latvian
Литовский
lithuanian
Норвежский (букмол)
norwegian, light_norwegian, minimal_norwegian
Норвежский (нюнорск)
light_nynorsk, minimal_nynorsk
Португальский
light_portuguese, minimal_portuguese, portuguese, portuguese_rslp
Румынский
romanian
Русский
russian, light_russian
Испанский
light_spanish, spanish
Шведский
swedish, light_swedish
Турецкий
turkish
name
Псевдоним для параметра language. Если указаны и этот, и параметр language, используется значение параметра language.

Настройка

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

Например, следующий запрос создает пользовательский фильтр stemmer, который склоняет слова, используя алгоритм light_german:

PUT /my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "my_stemmer"
          ]
        }
      },
      "filter": {
        "my_stemmer": {
          "type": "stemmer",
          "language": "light_german"
        }
      }
    }
  }
}

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

Spec-Zone.ru

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