Porter stem token filter
출처: 문서
본문
Porter stem 토큰 필터
porter_stem 토큰 필터는 단어를 기본(또는 어간) 형태로 줄이고 단어에서 흔한 접미사를 제거해서, 어근을 기준으로 비슷한 단어를 매칭하는 데 도움을 줘요. 예를 들어 running이라는 단어는 run으로 어간 추출돼요. 이 토큰 필터는 주로 영어에 사용되며, Porter 어간 추출 알고리즘을 기반으로 어간 추출을 제공해요.
예제
다음 예제 요청은 my_stem_index라는 새 인덱스를 만들고 porter_stem 필터가 적용된 분석기를 구성해요:
PUT /my_stem_index
{
"settings": {
"analysis": {
"filter": {
"my_porter_stem": {
"type": "porter_stem"
}
},
"analyzer": {
"porter_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_porter_stem"
]
}
}
}
}
}
{% include copy-curl.html %}
생성된 토큰
다음 요청을 사용해서 분석기가 생성한 토큰을 확인해 보세요:
POST /my_stem_index/_analyze
{
"text": "running runners ran",
"analyzer": "porter_analyzer"
}
{% include copy-curl.html %}
응답에는 생성된 토큰이 담겨 있어요:
{
"tokens": [
{
"token": "run",
"start_offset": 0,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "runner",
"start_offset": 8,
"end_offset": 15,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "ran",
"start_offset": 16,
"end_offset": 19,
"type": "<ALPHANUM>",
"position": 2
}
]
}