curl -XPOST localhost:9200/_bulk --data-binary @6_1_hotels.json


개발 환경 : .NETFramework version = v3.5

운영 체제 : 윈도우7



1. mecab-ko-dic 설치

참조 : https://groups.google.com/forum/#!topic/eunjeon/Dzohqj4n3QI



2. mecab-java-msvc설치


2-1. 환경 변수 설정

path 에 C:\mecab; 추가


3. 빌드 

 >> javac C:\mecab\org\chasen\mecab\*.java

  >> 테스트 : mecab.exe -o output.txt input.txt 

4. Elasticsearch plugin 설치

>> elasticsearch-plugin  install https://bitbucket.org/eunjeon/mecab-ko-lucene-analyzer/issues/attachments/9/eunjeon/mecab-ko-lucene-analyzer/1500357175.91/9/elasticsearch-analysis-mecab-ko-5.5.0.0.zip



4-1 오류1 


위와 같은 오류 발생 시 https://bitbucket.org/eunjeon/mecab-ko-lucene-analyzer/issues/attachments/9/eunjeon/mecab-ko-lucene-analyzer/1500357175.91/9/elasticsearch-analysis-mecab-ko-5.5.0.0.zip

zip 파일을 다운 받아 압축 해제 후  plugin-descriptor.properties 파일을 수정한다.

1) version = 5.6.0.0 으로 수정


2) elasticsearch.version = 5.6.0 으로 수정




3) 수정 후 다시 압축 하여 파일을 install 하준다

4-2 오류 2

4-1 수정 후 재시도 하였으나 아래와 같은 오류가 발생.



설치가 완료된 1대의 pc 에서 mecab 파일을 복사 후 재 설치 한 부분으로 
mecab.exe -o output.txt input.txt  명령어를 다시한번 처리 후 

4번 시도 시 정상적으로 처리 되었다. (정확한 부분인지는 모르겠음)


4-3. 성공





5. Elasticsearch 인덱스 적용
키바나에서 아래와 같이 인덱스를 등록한다.

PUT /eunjeon
{
        "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"
                }
                }
            }
            }
        }
    }

5-1 오류 1
아래와 같이 오류 발생 시 elasticsearch 를 재시작 한다.


5-2 성공 메시지가 나오면 아래와 같이 검색 한다
GET /eunjeon/_analyze/?analyzer=korean_query
{
 "text" : "유관순선생님"
}

>>> 유관순, 선생, 님  으로  
tokenizing 되는 부분 확인 




6. 원하는 index 의 document 에 형태소 분석기를 적용하고 싶을때.

 PUT /log/
{
        "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"
                }
                }
            }
            }
        },  "mappings" : {    
        "logs" : {  ----type
            "properties" : {        
                   "title": {"type": "text", "analyzer": "korean_query"}, ......                -----document
                  
            }    
        }  
    }
    }
    






'검색엔진' 카테고리의 다른 글

자동완성 기능 설정  (0) 2017.12.13
벌크로 제이슨 파일 넣기  (0) 2017.12.02
mecab 설치  (0) 2017.10.23
10.[Elasticsearch]/[ELK]. SCORE 검색 점수  (0) 2017.10.20
9.[Elasticsearch]/[ELK]. QUERY 와 FILTER 차이  (1) 2017.10.20


'여행' 카테고리의 다른 글

[세부][숙소] 01. 숙소 별 가격 비교  (0) 2019.10.06
[제주도] 3박 4일 여행 일정  (0) 2018.01.27
[푸켓] 3박5일 4일차 상세 일정  (5) 2017.10.30
오사카 4일차  (0) 2017.01.22
오사카 1일차  (0) 2017.01.15

+ Recent posts