Фильтр стеминга Porter
Предоставляет алгоритмический стеминг для английского языка, основанный на алгоритме стеминга Porter.
Этот фильтр, как правило, выполняет стеминг более агрессивно, чем другие фильтры стеминга для английского языка, такие как kstem фильтр.
Этот фильтр эквивалентен варианту stemmer фильтра english.
Данный фильтр использует PorterStemFilter из Lucene.
Пример
Следующий запрос к API анализа использует фильтр porter_stem для стеминга the foxes jumping quickly до the fox jump quickli:
GET /_analyze
{
"tokenizer": "standard",
"filter": [ "porter_stem" ],
"text": "the foxes jumping quickly"
} Фильтр производит следующие токены:
[ the, fox, jump, quickli ]
Добавление в анализатор
Следующий запрос к API создания индекса создания индекса использует фильтр porter_stem для настройки нового пользовательского анализатора.
Для корректной работы фильтру porter_stem необходимы токены в нижнем регистре. Для гарантированного преобразования токенов в нижний регистр, добавьте фильтр lowercase перед фильтром porter_stem в настройках анализатора.
PUT /my-index-000001
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "whitespace",
"filter": [
"lowercase",
"porter_stem"
]
}
}
}
}
}
© 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-porterstem-tokenfilter.html