Home

Awesome

mecab-java-msvc

공지: 이전됨 - https://github.com/Pusnow/mecab-ko-msvc

프로젝트가 하나의 GitHub 리포지토리로 통합되었습니다. 다음 링크를 방문해 주세요.

https://github.com/Pusnow/mecab-ko-msvc

설명

Build

mecab-java-msvc는 mecab-ko-msvc에서 사용할 수 있는 mecab-java을 빌드하는 프로젝트입니다.

설치

사용 정보

빌드 정보

Elastic Search 연동

mecab-java-msvc는 Windows 환경에서 Elastic Search와 연동하여 사용할 수 있습니다. Windows 10 Ent. 64bit, JDK 1.8, Elastic Search 5.5.0 에서 테스트 완료했습니다.

세부 절차

  1. mecab-ko-msvc을 C:\mecab 에 설치

  2. mecab-ko-dic-msvc을 C:\mecab 에 설치

  3. mecab-java-msvc에서 MeCab.dll을 C:\mecab 으로 복사

  4. C:\mecab 을 환경변수 PATH에 추가

  5. ElasticSearch 5.5.0 MSI 설치

  6. 5.5.0 버전 플러그인 설치

    1. 관리자의 권한으로 CMD 실행
    2. 다음 명령어를 실행하여 플러그인 설치
    3. "C:\Program Files\Elastic\Elasticsearch\bin\elasticsearch-plugin.bat" 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
  7. ElasticSearch 재시작

테스트 (POSTMAN 사용)

  1. 혹시 있을 eunjeon 제거 DELETE http://localhost:9200/eunjeon
  2. 인데스 추가 리눅스 버전과 다르게 mecab_args로 사전 경로를 지정해 주어야 합니다. PUT http://localhost:9200/eunjeon
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"
                }
                }
            }
            }
        }
    }
  1. 테스트 POST http://localhost:9200/eunjeon/_analyze?analyzer=korean_query
  BODY(text) : 은전한닢 프로젝트
  1. 결과
{
    "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
        }
    ]
}

관련 프로젝트

mecab-java

mecab-java 의 tagger와 lexicon의 메모리 누수가 해결된 버전

MeCab java module

$Id: README,v 1.2 2005/12/25 16:55:43 taku-ku Exp $;

  1. Build UTF-8 dictionary

  2. How to use?

See test.java as sample program.

% java -classpath MeCab.jar test -d ../dic