DockerでElasticsearchとKuromoji

何となくelasticsearchをDockerで動かしたくなって探してみたら、

docker search elasticsearch

スゲーあるのね。ただKuromojiを使えそーな物がちょっとなくって、ググって調べてみたけど、ちょい前のだったり動かなかったりして…って事で、dockerfile/elasticsearch をforkしてサクっと作った。elasticsearchは1.3.0、kuomoji 2.3.0とHQが入る。今時点で、最新のelasticsearch(1.3.0)と対応するkuromojiで(elasticsearchのバージョンが変わると対応するkuromojiのバージョンも変わったりする)。こんな感じでめちゃ簡単。ポートの9200, 9300は通しておけば、以下コピペで完了。

# make elasticsearch container
git clone https://github.com/hirotakaster/elasticsearch
cd elasticsearch
docker  build -t hirotakaster/elasticsearch .
docker  run -d -p 9200:9200 -p 9300:9300 hirotakaster/elasticsearch

# search test
curl -XPUT 'http://localhost:9200/kuro_test/' -d'
  {
      "index":{
          "analysis":{
              "tokenizer" : {
                  "kuromoji" : {
                     "type" : "kuromoji_tokenizer"
                  }
              },
              "analyzer" : {
                  "analyzer" : {
                      "type" : "custom",
                      "tokenizer" : "kuromoji"
                  }
              }
          }
      }
  }'

# {"acknowledged":true}

curl -XPOST 'http://localhost:9200/kuro_test/_analyze?analyzer=analyzer&petty' -d '今日はラーメンだ'
{"tokens":[{"token":"今日","start_offset":0,"end_offset":2,"type":"word","position":1},{"token":"は","start_offset":2,"end_offset":3,"type":"word","position":2},{"token":"ラーメン","start_offset":3,"end_offset":7,"type":"word","position":3},{"token":"だ","start_offset":7,"end_offset":8,"type":"word","position":4}]}

おわり。HQへは、http://localhost:9200/_plugin/HQ/ でアクセス。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください