Takuya71 のぶろぐ

外資系ソフトウェア会社で働いてます、認定スクラムマスター

elasticsearch-0.90.5 + kuromoji 1.5.0

elasticsearch-0.90.5 に kuromoji をインストール
当初 1.2.0 を入れてうまく動かなかったので 最新の 1.5.0 をインストールすると動きました。

kuromoji のインストール

plugin コマンドでインストールを行います。
github のレポジトリを指定すると ダウンロードしてくれます。

bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/1.5.0
Downloading ........................................................   
DONE
Installed elasticsearch/elasticsearch-analysis-kuromoji/1.5.0 into /home/takuya71/elasticsearch-0.90.5/plugins/analysis-kuromoji

動作の実験

curl -XGET 'localhost:9200/kuromoji_checker/_analyze?analyzer=kuromoji&pretty=true' -d '関西国際空港'
{
  "tokens" : [ {
    "token" : "関西",
    "start_offset" : 0,
    "end_offset" : 2,
    "type" : "word",
    "position" : 1
  }, {
    "token" : "関西国際空港",
    "start_offset" : 0,
    "end_offset" : 6,
    "type" : "word",
    "position" : 1
  }, {
    "token" : "国際",
    "start_offset" : 2,
    "end_offset" : 4,
    "type" : "word",
    "position" : 2
  }, {
    "token" : "空港",
    "start_offset" : 4,
    "end_offset" : 6,
    "type" : "word",
    "position" : 3
  } ]
}%

上手く行きました。

ちなみに analyzer として kuromoji を指定しなかった場合は
以下のように 1文字ずつとなり 期待通りとはなりません。

% curl -XGET 'localhost:9200/kuromoji_checker/_analyze?pretty' -d '関西国際空港'
{
  "tokens" : [ {
    "token" : "関",
    "start_offset" : 0,
    "end_offset" : 1,
    "type" : "<IDEOGRAPHIC>",
    "position" : 1
  }, {
    "token" : "西",
    "start_offset" : 1,
    "end_offset" : 2,
    "type" : "<IDEOGRAPHIC>",
    "position" : 2
  }, {
    "token" : "国",
    "start_offset" : 2,
    "end_offset" : 3,
    "type" : "<IDEOGRAPHIC>",
    "position" : 3
  }, {
    "token" : "際",
    "start_offset" : 3,
    "end_offset" : 4,
    "type" : "<IDEOGRAPHIC>",
    "position" : 4
  }, {
    "token" : "空",
    "start_offset" : 4,
    "end_offset" : 5,
    "type" : "<IDEOGRAPHIC>",
    "position" : 5
  }, {
    "token" : "港",
    "start_offset" : 5,
    "end_offset" : 6,
    "type" : "<IDEOGRAPHIC>",
    "position" : 6
  } ]
}%

kuromoji をデフォルトに

conf/elasticsearch.yml に追加

index.analysis.analyzer.default.type: custom
index.analysis.analyzer.default.tokenizer: kuromoji_tokenizer

プラグインをアンインストールする場合

plugin を抜くときは bin/plugin -remove ...

Elasticsearch Server: Create a Fast, Scalable, and Flexible Search Solution With the Emerging Open Source Search Server, Elasticsearch

Elasticsearch Server: Create a Fast, Scalable, and Flexible Search Solution With the Emerging Open Source Search Server, Elasticsearch