[Elasticsearch - The Definitive Guide] Controlling Stemming
Elastic/TheDefinitiveGuide 2015. 12. 22. 13:42형태소 분석에서 stemming 관련 글 입니다.
언어학에 대한 지식은 검색 기술에서도 매우 중요 합니다.
하지만 저는 컴퓨터과학을 전공하였기에 모르는건 기록하고 학습을 해야... 그래서 기록합니다.
원문링크)
원문 Snippet)
- Preventing Stemming
당연히 아시겠지만, stopwords 와는 다릅니다.
PUT /my_index
{
"settings": {
"analysis": {
"filter": {
"no_stem": {
"type": "keyword_marker",
"keywords": [ "skies" ]
}
},
"analyzer": {
"my_english": {
"tokenizer": "standard",
"filter": [
"lowercase",
"no_stem",
"porter_stem"
]
}
}
}
}
}
GET /my_index/_analyze?analyzer=my_english sky skies skiing skis
- Customizing Stemming
추출 term에 대한 맵핑 정보를 사용하는 방법이며, 조금은 다르지만 synonym과 비슷 합니다.
역시 색인 및 검색 시 사용이 가능합니다.
PUT /my_index
{
"settings": {
"analysis": {
"filter": {
"custom_stem": {
"type": "stemmer_override",
"rules": [
"skies=>sky",
"mice=>mouse",
"feet=>foot"
]
}
},
"analyzer": {
"my_english": {
"tokenizer": "standard",
"filter": [
"lowercase",
"custom_stem",
"porter_stem"
]
}
}
}
}
}
GET /my_index/_analyze?analyzer=my_english
The mice came down from the skies and ran over my feet