Stemmer token filter
출처: 문서
본문
Stemmer 토큰 필터
stemmer 토큰 필터는 단어를 어근 또는 기본 형태로 축소해요. 이렇게 축소된 형태를 _어간(stem)_이라고도 불러요.
파라미터
stemmer 토큰 필터는 다음 값들을 받는 language 파라미터로 설정할 수 있어요:
- 아랍어:
arabic - 아르메니아어:
armenian - 바스크어:
basque - 벵골어:
bengali - 브라질 포르투갈어:
brazilian - 불가리아어:
bulgarian - 카탈루냐어:
catalan - 체코어:
czech - 덴마크어:
danish - 네덜란드어:
dutch, dutch_kp - 영어:
english(기본값),light_english,lovins,minimal_english,porter2,possessive_english - 에스토니아어:
estonian - 핀란드어:
finnish,light_finnish - 프랑스어:
light_french,french,minimal_french - 갈리시아어:
galician,minimal_galician(복수 처리 단계만 적용) - 독일어:
light_german,german,german2,minimal_german - 그리스어:
greek - 힌디어:
hindi - 헝가리어:
hungarian, light_hungarian - 인도네시아어:
indonesian - 아일랜드어:
irish - 이탈리아어:
light_italian, italian - 쿠르드어(소라니):
sorani - 라트비아어:
latvian - 리투아니아어:
lithuanian - 노르웨이어(보크몰):
norwegian,light_norwegian,minimal_norwegian - 노르웨이어(뉘노르스크):
light_nynorsk,minimal_nynorsk - 포르투갈어:
light_portuguese,minimal_portuguese,portuguese,portuguese_rslp - 루마니아어:
romanian - 러시아어:
russian,light_russian - 스페인어:
light_spanish,spanish - 스웨덴어:
swedish,light_swedish - 터키어:
turkish
name 파라미터를 language 파라미터의 별칭으로 사용할 수도 있어요. 둘 다 설정하면 name 파라미터는 무시돼요.
{: .note}
예제
다음 예제 요청은 my-stemmer-index라는 이름의 새 인덱스를 생성하고, stemmer 필터가 설정된 애널라이저를 구성해요:
PUT /my-stemmer-index
{
"settings": {
"analysis": {
"filter": {
"my_english_stemmer": {
"type": "stemmer",
"language": "english"
}
},
"analyzer": {
"my_stemmer_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"my_english_stemmer"
]
}
}
}
}
}
{% include copy-curl.html %}
생성된 토큰
애널라이저가 생성한 토큰을 확인하려면 다음 요청을 사용해 보세요:
GET /my-stemmer-index/_analyze
{
"analyzer": "my_stemmer_analyzer",
"text": "running runs"
}
{% include copy-curl.html %}
응답에는 생성된 토큰이 담겨 있어요:
{
"tokens": [
{
"token": "run",
"start_offset": 0,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "run",
"start_offset": 8,
"end_offset": 12,
"type": "<ALPHANUM>",
"position": 1
}
]
}