2017년 9월 10일 일요일

elasticsearch-analysis-seunjeon 5.4.1.0 배포합니다.

오랜만의 작업입니다.

[변경사항]
  * 인덱스별로 사용자사전을 따로 로드하도록 변경하였습니다. 기존에 사전을 singleton으로 관리하다보니 변경된 사용자 사전을 적용하려면 elasticsearch를 재시작해야 했습니다. 이제는 사전 변경 후 인덱스를 새로 생성하면 analyzer instance가 만들어지면서 사용자사전 instance도 새로 만들어집니다. 아무래도 단점은 인덱스별로 사용자사전이 로드되다보니 사전 크기만큼 메모리 사용이 더 많아질 수 있습니다. 단, 시스템 사전은 singleton입니다.

README: https://bitbucket.org/eunjeon/seunjeon/raw/master/elasticsearch/

2017년 6월 4일 일요일

elasticsearch-anaysis-seunjeon 다운로더

elasticsearch 버전이 새로 릴리즈 될때마다 plugin도 새롭게 릴리즈를 해줘야만 설치가 되는 문제가 있었습니다. 플러그인 압축파일 안에 plugin-descriptor.properties 파일이 있는데 그 파일 내에 버전정보가 다르면 설치가 되지않아서 생기는 문제였습니다. 플러그인 개발을 주업으로 하지않는 저희 입장에서는 매번 지원을 해드리는게 어려운 일이 아닐수 없었습니다. 매번 릴리즈 하지 않고 plugin-descriptor.properties 파일 내 버전 정보를 변경해 줄수있는 스크립트를 작성했습니다. 아래처럼 사용하시면 새로운 elasticsearch가 나오더라도 언제든지 seunjeon 설치가 가능합니다. (단, elasticsearch interface의 변화가 없다면..)


# download plugin
$ bash <(curl -s https://bitbucket.org/eunjeon/seunjeon/raw/master/elasticsearch/scripts/downloader.sh) -e <es-version> -p <plugin-version>

# install plugin
$ ./bin/elasticsearch-plugin install file://`pwd`/elasticsearch-analysis-seunjeon-<plugin-version>.zip
  • downloader.sh 가 하는 일은 elasticsearch-analysis-seunjeon-<plugin-version>.zip 파일을 내려받은 후 plugin-descriptor.properties 의 elasticsearch.version 을 변경하여 재압축합니다.
  • elasticsearch가 버전 업 될때마다 플러그인을 재배포하는데 어려움이 있어 스크립트를 제공합니다.