Фильтр токенов 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