ポーターステムトークンフィルター
英語のためのアルゴリズミックステミングを提供し、ポーターステミングアルゴリズムに基づいています。
このフィルターは、kstem
フィルターなどの他の英語のステマー フィルターよりも、より積極的にステミングを行う傾向があります。
`````porter_stem`````フィルターは、Luceneの[PorterStemFilter](https://lucene.apache.org/core/9_11_1/analysis/common/org/apache/lucene/analysis/en/PorterStemFilter.html)を使用します。
## 例
以下の分析APIリクエストは、`````porter_stem`````フィルターを使用して`````the foxes jumping quickly`````を`````the fox jump quickli`````にステミングします:
#### Python
``````python
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"porter_stem"
],
text="the foxes jumping quickly",
)
print(resp)
`
Ruby
response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'porter_stem'
],
text: 'the foxes jumping quickly'
}
)
puts response
Js
const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["porter_stem"],
text: "the foxes jumping quickly",
});
console.log(response);
コンソール
GET /_analyze
{
"tokenizer": "standard",
"filter": [ "porter_stem" ],
"text": "the foxes jumping quickly"
}
フィルターは以下のトークンを生成します:
テキスト
[ the, fox, jump, quickli ]
アナライザーに追加
以下のインデックス作成APIリクエストは、porter_stem
フィルターを使用して新しいカスタムアナライザーを構成します。
#### Python
``````python
resp = client.indices.create(
index="my-index-000001",
settings={
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "whitespace",
"filter": [
"lowercase",
"porter_stem"
]
}
}
}
},
)
print(resp)
`
Ruby
response = client.indices.create(
index: 'my-index-000001',
body: {
settings: {
analysis: {
analyzer: {
my_analyzer: {
tokenizer: 'whitespace',
filter: [
'lowercase',
'porter_stem'
]
}
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "my-index-000001",
settings: {
analysis: {
analyzer: {
my_analyzer: {
tokenizer: "whitespace",
filter: ["lowercase", "porter_stem"],
},
},
},
},
});
console.log(response);
コンソール
PUT /my-index-000001
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "whitespace",
"filter": [
"lowercase",
"porter_stem"
]
}
}
}
}
}