Porter stem token filter
Provides algorithmic stemming for the English language, based on the Porter stemming algorithm.
This filter tends to stem more aggressively than other English stemmer filters, such as the kstem filter.
The porter_stem filter is equivalent to the stemmer filter’s english variant.
The porter_stem filter uses Lucene’s PorterStemFilter.
Example
The following analyze API request uses the porter_stem filter to stem the foxes jumping quickly to the fox jump quickli:
GET /_analyze
{
"tokenizer": "standard",
"filter": [ "porter_stem" ],
"text": "the foxes jumping quickly"
} The filter produces the following tokens:
[ the, fox, jump, quickli ]
Add to an analyzer
The following create index API request uses the porter_stem filter to configure a new custom analyzer.
To work properly, the porter_stem filter requires lowercase tokens. To ensure tokens are lowercased, add the lowercase filter before the porter_stem filter in the analyzer configuration.
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