한글을 분석하기 위해선 한글 어휘의 기본 단위인 형태소 단위로 분석해주는 전용 플러그인을 설치해 사용하게 된다.
과거에는 공식 지원되는 플러그인이 없어 아리랑, 은전한닢 등의 커뮤니티 플러그인을 사용했으나,
성능이나 호환성 측면에서 엘라스틱서치 6.4 버전부터 공식 지원되는 노리Nori 사용을 권장한다.
노리 분석기 설치
1. 설치하기 위해서는 elasticsearch-plugin
이 설치되어 있는 경로를 확인해야한다.
나는 brew
를 통해 설치했고, /opt/homebrew/Cellar/elasticsearch-full/7.17.4/bin
여기에 존재했다.
혹시 경로를 찾아야 하는 경우, 다음방법을 따라 하면 된다.
<경로 확인 방법>
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"
}
2. standard tokenizer 사용했을때 : 코로나19 분석 시 코로나19를 한 단어로 인식한다.
POST _analyze
{
"tokenizer": "standard",
"text": "코로나19"
}
아래 책 <엘라스틱 스택 개발부터 운영까지> 10.4절을 읽고 정리한 글입니다.
http://www.yes24.com/Product/Goods/103030516
10장에서는
- 캐글 CSV 파일을 활용한 인덱스 작성
- 로그스태시와 트위터 API 활용해서 데이터 분석하는 방법
- 파이썬 클라이언트 이용해서 서울 연린데이터 받아서 '서울에서 일인 가구가 많은 지역은 어디일까?', '서울에서 외국인이 많은 곳은 어디인가?' 등등을 분석한다.
이 내용에 관심있으신 분은 책을 직접 사서 따라 실습하는 것을 추천한다.
'데이터베이스 > 엘라스틱서치' 카테고리의 다른 글
elasticsearch. range query 와 bool query [엘라스틱 스택 개발부터 운영까지] (0) | 2023.03.21 |
---|---|
elasticsearch. leaf query (match, term, range) [엘라스틱 스택 개발부터 운영까지] (0) | 2023.03.12 |
elasticsearch. 역인덱싱과 분석기 [엘라스틱 스택 개발부터 운영까지] (0) | 2023.02.25 |
elasticsearch. 문자열 타입 (텍스트 타입 / 키워드 타입 / 멀티 타입) [엘라스틱 스택 개발부터 운영까지] (1) | 2023.02.19 |
elasticsearch. elasticsearch / kibana 설치 (맥 os) (1) | 2023.01.30 |