KStem token filter
출처: 문서
본문
KStem 토큰 필터
kstem 토큰 필터는 단어를 어근 형태로 줄이는 데 사용되는 스테밍 필터예요. 이 필터는 영어를 위해 설계된 경량 알고리즘 스테머로, 다음과 같은 스테밍 작업을 수행해요:
- 복수형을 단수형으로 줄여요.
- 다양한 동사 시제를 기본형으로 변환해요.
- "-ing"나 "-ed" 같은 일반적인 파생형 접미사를 제거해요.
kstem 토큰 필터는 light_english 언어로 설정된 stemmer 필터와 동일해요. porter_stem 같은 다른 스테밍 필터에 비해 더 보수적인 스테밍을 제공해요.
kstem 토큰 필터는 Lucene KStemFilter를 기반으로 해요. 자세한 내용은 Lucene 문서를 참고하세요.
예제
다음 예제 요청은 my_kstem_index라는 새 인덱스를 생성하고 kstem 필터가 설정된 애널라이저를 구성해요:
PUT /my_kstem_index
{
"settings": {
"analysis": {
"filter": {
"kstem_filter": {
"type": "kstem"
}
},
"analyzer": {
"my_kstem_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"kstem_filter"
]
}
}
}
},
"mappings": {
"properties": {
"content": {
"type": "text",
"analyzer": "my_kstem_analyzer"
}
}
}
}
{% include copy-curl.html %}
생성된 토큰
다음 요청을 사용해 애널라이저로 생성된 토큰을 확인해 보세요:
POST /my_kstem_index/_analyze
{
"analyzer": "my_kstem_analyzer",
"text": "stops stopped"
}
{% include copy-curl.html %}
응답에는 생성된 토큰이 포함되어 있어요:
{
"tokens": [
{
"token": "stop",
"start_offset": 0,
"end_offset": 5,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "stop",
"start_offset": 6,
"end_offset": 13,
"type": "<ALPHANUM>",
"position": 1
}
]
}