Elasticsearch in OSX クイックスタート

  • 10
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

全文検索エンジンElasticsearchを試してみたくていろいろやってたんですが、割とみんな本番環境への構築方法は書いてもローカル構築の方法はあまりみあたらなかったので書いてみました。

OSX

homebrewで。

$ brew install elasticsearch

これで終わりです。他になにかしたかったですか? これだけです!

パス通す

Elasticsearchにはpluginコマンド使ったり、起動にelasticsearchコマンド使うんですけど、その辺パスが通ってないのでリファレンスみただけだと「?」ってなります。通しましょう。

homebrewでいれると「/usr/local/Celler/****」の下にインストールされていくので探します。

「/usr/local/Cellar/elasticsearch/1.3.0/bin」とかがバイナリのパスになってると思います。1.3.0はバージョンによって変わるので適宜読み替えてください。

これを.zshrcや.bashrcとかでパスを通してあげます。全体に通すなら/etc/bashrcとかに書いてもいいですがそこは好みで。

export ELASTICPATH=/usr/local/Cellar/elasticsearch/1.3.0/bin
export PATH=$PATH:$ELASTICPATH

書いたらsourceしましょう。

source ~/.zshrc
source ~/.bashrc

設定する

設定ファイルは以下にありました。

  • /usr/local/Cellar/elasticsearch/1.3.0/config/elasticsearch.yml

ログのパス、クラスタ名、ノード名とか設定できるみたいです。この辺りは今回ローカルでしかつかわないんでデフォルトで。必要になったら追記します。詳しいことはまた別記事で。

プラグインいれる

pluginコマンドでできます。なんかいろいろあるみたいです。
プラグインページはここからいろいろ。

インストールはgitの短縮アドレスを叩くだけでいけるみたい。便利ですね。

$ plugin --install ******

起動

起動はelasticsearchコマンドで。


$ elasticsearch
[2014-09-25 12:23:01,360][INFO ][node                     ] [Veil] version[1.3.0], pid[57072], build[1265b14/2014-07-23T13:46:36Z]
[2014-09-25 12:23:01,361][INFO ][node                     ] [Veil] initializing ...
[2014-09-25 12:23:01,375][INFO ][plugins                  ] [Veil] loaded [analysis-kuromoji], sites []
[2014-09-25 12:23:03,919][INFO ][node                     ] [Veil] initialized
[2014-09-25 12:23:03,920][INFO ][node                     ] [Veil] starting ...
[2014-09-25 12:23:04,013][INFO ][transport                ] [Veil] bound_address {inet[/127.0.0.1:9300]}, publish_address {inet[/127.0.0.1:9300]}
[2014-09-25 12:23:04,047][INFO ][discovery                ] [Veil] elasticsearch_srockstyle/4QyazfZ_RoGQ_vHw1N4fDQ
[2014-09-25 12:23:07,063][INFO ][cluster.service          ] [Veil] new_master [Veil][4QyazfZ_RoGQ_vHw1N4fDQ][srockstyle-no-MacBook-Pro.local][inet[/127.0.0.1:9300]], reason: zen-disco-join (elected_as_master)
[2014-09-25 12:23:07,088][INFO ][http                     ] [Veil] bound_address {inet[/127.0.0.1:9200]}, publish_address {inet[/127.0.0.1:9200]}
[2014-09-25 12:23:07,088][INFO ][node                     ] [Veil] started
[2014-09-25 12:23:07,110][INFO ][gateway                  ] [Veil] recovered [0] indices into cluster_state

なんかぞろぞろでてきました。

アクセスしてみる

みんな大好きcurlコマンドで。

$ curl -XGET 'http://localhost:9200'

これ、コンソールに9300ってでるからそっちかなと思うとエラー大発生したんでなにかとおもったんですが、9200が正解みたいです。

Jsonがもどればオッケーです!

{
  "status" : 200,
  "name" : "Arkady Rossovich",
  "version" : {
    "number" : "1.3.0",
    "build_hash" : "1265b1454eee7725a6918f57415c480028700fb4",
    "build_timestamp" : "2014-07-23T13:46:36Z",
    "build_snapshot" : false,
    "lucene_version" : "4.9"
  },
  "tagline" : "You Know, for Search"
}

ではよいElasticsearchライフを!