개발/엘라스틱서치

elasticsearch. 노리 분석기 [엘라스틱 스택 개발부터 운영까지]

ttoance 2023. 3. 26. 21:44

한글을 분석하기 위해선 한글 어휘의 기본 단위인 형태소 단위로 분석해주는 전용 플러그인을 설치해 사용하게 된다.

과거에는 공식 지원되는 플러그인이 없어 아리랑, 은전한닢 등의 커뮤니티 플러그인을 사용했으나,

성능이나 호환성 측면에서 엘라스틱서치 6.4 버전부터 공식 지원되는 노리Nori 사용을 권장한다.

 

 

노리 분석기 설치

1. 설치하기 위해서는 elasticsearch-plugin이 설치되어 있는 경로를 확인해야한다.

나는 brew를 통해 설치했고, /opt/homebrew/Cellar/elasticsearch-full/7.17.4/bin 여기에 존재했다.

 

elasticsearch. elasticsearch / kibana 설치 (맥 os)

1. elasticsearch install brew tap elastic/tap brew install elasticsearch-full 설치 완료되었으면 elasticsearch 명령어 통해 실행한다. 실행 후, curl -XGET localhost:9200 통해서 아래와 같이 나오면, 실행된 것이다. 2. kibana

ddoance.tistory.com

 

혹시 경로를 찾아야 하는 경우, 다음방법을 따라 하면 된다.

<경로 확인 방법>

sudo find / -name elasticsearch-plugin

 

2. 패키지 설치

 cd /opt/homebrew/Cellar/elasticsearch-full/7.17.4/bin
 ./elasticsearch-plugin install analysis-nori

 

3. elasticsearch 재시작

 

 

nori_tokenizer와 standard tokenier 비교

1. nori_tokenizer 사용했을때 : 코로나19 분석 시 코로나와 19를 별도 형태소로 인식한다.

POST _analyze
{
  "tokenizer": "nori_tokenizer",
  "text": "코로나19"
}

nori_tokenizer 사용해서 코로나19 분석

2. standard tokenizer 사용했을때 : 코로나19 분석 시 코로나19를 한 단어로 인식한다.

POST _analyze
{
  "tokenizer": "standard",
  "text": "코로나19"
}


 

아래 책 <엘라스틱 스택 개발부터 운영까지> 10.4절을 읽고 정리한 글입니다.

http://www.yes24.com/Product/Goods/103030516

 

엘라스틱 스택 개발부터 운영까지 - YES24

데이터를 처리하는 데 서로 잘 맞지도 않는 오픈소스 기술들을 굳이 동원해야 할까? 제각각인 오픈소스들을 통합하고 운영하느라 지친 개발자와 운영자들을 위한 솔루션! 이제 엘라스틱 스택

www.yes24.com

 

10장에서는 

- 캐글 CSV 파일을 활용한 인덱스 작성 

- 로그스태시와 트위터 API 활용해서 데이터 분석하는 방법 

- 파이썬 클라이언트 이용해서 서울 연린데이터 받아서 '서울에서 일인 가구가 많은 지역은 어디일까?', '서울에서 외국인이 많은 곳은 어디인가?' 등등을 분석한다. 

이 내용에 관심있으신 분은 책을 직접 사서 따라 실습하는 것을 추천한다. 

반응형