[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


: