안녕하세요?
Windows 환경 ElasticSearch에서 MeCab-Ko를 사용하기 위해서는 먼저 mecab-java를 윈도우에서 빌드해야 합니다.
이 역시 Mecab-ko의 다른 프로젝트처럼 빌드가 조금 어렵습니다.
이를 위해서 mecab-java-msvc라는 프로젝트를 새로 만들었습니다.
또, 윈도우 ElasticSearch에서 사용하기 위해서는 몇가지 세팅이 더 필요합니다. 아래 설명을 첨부했으니 한번 따라해 보시고 문제가 있으면 알려주세요.
제 개인 PC에서는 성공적으로 ElasticSearch에서 MeCab-Ko를 불러왔습니다.
환경
* Windows 10 Enterprise x64 1703
* Oracle JDK 1.8 (jdk1.8.0_141)
* ElasticSearch 5.5.0
mecab-java 설치
1. mecab-ko-msvc을 C:\mecab 에 설치
2. mecab-ko-dic-msvc을 C:\mecab 에 설치
3. mecab-java-msvc에서 MeCab.dll을 C:\mecab 으로 복사
elasticsearch 플러그인 설치
1. C:\mecab 을 환경변수 PATH에 추가
2. ElasticSearch 5.5.0 MSI 설치
3. 5.5.0 버전 플러그인 설치
1. 관리자의 권한으로 CMD 실행
2. 다음 명령어를 실행하여 플러그인 설치
4. ElasticSearch 재시작
POSTMAN을 이용해 테스트
1. 혹시 있을 eunjeon 제거
2. 인데스 추가 리눅스 버전과 다르게 mecab_args로 사전 경로를 지정해 주어야 합니다.
BODY(JSON):
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"korean_index": {
"type": "custom",
"tokenizer": "mecab_ko_standard_tokenizer"
},
"korean_query": {
"type": "custom",
"tokenizer": "korean_query_tokenizer"
}
},
"tokenizer": {
"mecab_ko_standard_tokenizer": {
"type": "mecab_ko_standard_tokenizer",
"mecab_args": "-d C:/mecab/mecab-ko-dic"
},
"korean_query_tokenizer": {
"type": "mecab_ko_standard_tokenizer",
"compound_noun_min_length": 100,
"mecab_args": "-d C:/mecab/mecab-ko-dic"
}
}
}
}
}
}
3. 테스트
BODY(text) : 은전한닢 프로젝트
4. 결과
{
"tokens": [
{
"token": "은전",
"start_offset": 0,
"end_offset": 2,
"type": "NNG",
"position": 0
},
{
"token": "한",
"start_offset": 2,
"end_offset": 3,
"type": "NR",
"position": 1
},
{
"token": "닢",
"start_offset": 3,
"end_offset": 4,
"type": "NNG",
"position": 2
},
{
"token": "프로젝트",
"start_offset": 5,
"end_offset": 9,
"type": "NNG",
"position": 3
}
]
}