T-ara parodia" Sara me robó mi nomo"
seen from United States

seen from United States
seen from Portugal
seen from Hong Kong SAR China
seen from United States

seen from United States
seen from Yemen
seen from Netherlands
seen from Morocco

seen from Türkiye
seen from Russia
seen from United States

seen from Canada

seen from United States

seen from China
seen from Venezuela
seen from Colombia

seen from United States
seen from United States
seen from United States
T-ara parodia" Sara me robó mi nomo"
[elasticsearch][eunjeon] 한글 형태소 적용 - 은전한잎 프로젝트
한글 형태소 분석기를 적용하지 않으면 기본적으로 공백 기반의 full indexing을 하기 때문에 원하는 검색 결과가 나오지 않는다.
그리고 이미 data가 존재하는 상황에서는 analyzer를 추가로 설정하는 것을 허용하지 않아서, index를 삭제 후 재 생성하여 데이터를 수집해야 하는 이슈가 발생하였다.
그래서, elasticsearch 설치 초반부터 한글 형태소 분석기를 적용한 설정값 및 mapper 추가까지의 설정 방법에 대해 기록해둔다.
1. elasticsearch 설치
- 나의 경우는 1.2.1 버전으로 설치하였음.
download
http://www.elasticsearch.org/overview/elkdownloads/
현재 최신 버전은 1.3.2이다. elasticsearch 버전에 따라 내가 설정한 한글 형태소 분석기 버전도 다르므로 참고.
2. head plugin 설치
- 거의 필수 플러그인이다. Dashboard 및 현재 데이터 조회 및 간단한 조회를 할 수 있게 만들어준다.
- 설치 bin/plugin -install mobz/elasticsearch-head
3. 한글 형태소 분석기 libary 설치 mecab (한글 형태소 분석기 library) 설치
mecab-ko ( 한글 형태소에서 사용하는 사전) 설치
- 아래 링크를 참고하여 설치한다. https://bitbucket.org/eunjeon/mecab-ko-lucene-analyzer/raw/master/elasticsearch-analysis-mecab-ko/ https://bitbucket.org/eunjeon/mecab-ko-dic
다운로드 wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.1.tar.gzwget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-1.6.1-20140814.tar.gz
설치 방법 tar xvfz mecab-0.996-ko-0.9.1.tar.gz cd mecab-0.996-ko-0.9.1 ./configure sudo yum install gcc-c++ (컴파일러 오류가 떨어질 경우) make
make check
sudo make install
tar xvfz mecab-ko-dic-1.6.1-20140814.tar.gzcd mecab-ko-dic-1.6.1-20140814./configuremakesudo make install
bin/plugin --install analysis-mecab-ko-0.15.1 --url https://bitbucket.org/eunjeon/mecab-ko-lucene-analyzer/downloads/elasticsearch-analysis-mecab-ko-0.15.1.zip
(elasticsearch 1.2 버전에 맞는 analysis )
./configure
make
sudo make install
테스트 mecab -d /usr/local/lib/mecab/dic/mecab-ko-dic wget https://mecab.googlecode.com/files/mecab-java-0.996.tar.gz tar xvfz mecab-java-0.996.tar.gzcd mecab-java-0.996vi Makefile sudo yum install java-1.7.0-openjdk-devel makesudo cp libMeCab.so /usr/local/lib sudo vi /etc/ld.so.conf 내용에 /usr/local/lib 추가 sudo ldconfig elasticsearch 기동 bin/elasticsearch -Djava.library.path=/usr/local/lib
4. index 추가 및 _settings추가
- index 생성 curl -XPUT 'localhost:9200/INDEX_NAME'
index settings 수정을 위해 index close
curl -XPOST 'localhost:9200/INDEX_NAME/_close’
analyzer 추가
curl -XPUT 'localhost:29200/INDEX_NAME/_settings' -d '{
"index": { "analysis": { "analyzer": { "korean": { "type": "custom", "tokenizer": "mecab_ko_standard_tokenizer" } } } } }’
index open
curl -XPOST 'localhost:9200/INDEX_NAME/_open’
5. type에 대한 _mapping 설정 추가
- 한글 형태소 분석기 적용된 mapping 추가
curl -XPUT 'localhost:29200/INDEX_NAME/_mapping/survey' -d '{
"properties":{
"title":{
"type":"string",
"analyzer":"korean"
}
}
}'
6. 데이터 재 수집
- 끝
세팅값 확인 curl -XGET 'localhost:29200/INDEX_NAME/_settings?pretty=1’
결과 "tillion" : {
"settings" : {
"index" : {
"uuid" : "MRo8iF8wTkqxl6BQ8GcbNg",
"analysis" : {
"analyzer" : {
"korean" : {
"type" : "custom",
"tokenizer" : "mecab_ko_standard_tokenizer"
}
}
},
"number_of_replicas" : "1",
"number_of_shards" : "5",
"version" : {
"created" : "1020199"
}
}
}
}
매핑값 확인
curl -XGET 'localhost:29200/INDEX_NAME/_mapping?pretty=1’
결과 {
"INDEX_NAME" : {
"mappings" : {
"project" : {
"properties" : {
"title" : {
"type" : "string",
"analyzer" : "korean"
}
}
}
}