Nori를 사용하기 위해서는 Elasticsearch에 analysis-nori 플러그인을 설치해야 한다.
elasticsearch 컨테이너 접속
docker exec -it {elasticsearch 컨테이너 이름} /bin/bash
elasticsearch 플러그인을 통해 nori 설치
bin/elasticsearch-plugin install analysis-nori
nori 설치 완료 후 elasticsearch restart
docker restart {elasticsearch 컨테이너 이름}
아래와 같이 tokenizer, token filter 등을 조합하여 custom analyzer를 만들 수 있다.
(Elasticsearch에서 사전에 정의하여 제공하는 analyzer들도 있다. https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html)
{
"settings": {
"analysis": {
"tokenizer": {
"my_nori_tokenizer": {
"type": "nori_tokenizer",
"decompound_mode": "mixed"
}
},
"analyzer": {
"my_nori_analyzer": {
"type": "custom",
"tokenizer": "my_nori_tokenizer",
"filter": [
"lowercase",
"stop",
"nori_part_of_speech",
"shingle"
],
"char_filter": [
"html_strip"
]
}
}
}
}
}
위에서 사용하고 있는 filter들을 하나씩 살펴보자.