elasticsearch local環境構築 for MacOS
検証環境
elasticsearchのインストール
homebrewをアップデート
まずはhomebrew自体のアップデートを行い最新版のelasticsearchをインストールできるようにする
> brew update
elasticsearch本体のインストール
> brew install elasticsearch
起動確認
> elasticsearch # 以下の様な感じのログが表示されて、エラーが出ななかったらOK [2015-05-23 15:58:56,067][INFO ][node ] [Forbush Man] version[1.5.2], pid[1616], build[62ff986/2015-04-27T09:21:06Z] [2015-05-23 15:58:56,068][INFO ][node ] [Forbush Man] initializing ... [2015-05-23 15:58:56,099][INFO ][plugins ] [Forbush Man] loaded [analysis-kuromoji, marvel], sites [marvel, inquisitor] [2015-05-23 15:58:58,368][INFO ][node ] [Forbush Man] initialized [2015-05-23 15:58:58,368][INFO ][node ] [Forbush Man] starting ... [2015-05-23 15:58:58,459][INFO ][transport ] [Forbush Man] bound_address {inet[/127.0.0.1:9300]}, publish_address {inet[/127.0.0.1:9300]} [2015-05-23 15:58:58,480][INFO ][discovery ] [Forbush Man] elasticsearch_brew/KkxG2bXdQZ2xhr1PIImjmg [2015-05-23 15:59:02,268][INFO ][cluster.service ] [Forbush Man] new_master [Forbush Man][KkxG2bXdQZ2xhr1PIImjmg][Yusuke-no-MacBook-Pro.local][inet[/127.0.0.1:9300]], reason: zen-disco-join (elected_as_master) [2015-05-23 15:59:02,334][INFO ][http ] [Forbush Man] bound_address {inet[/127.0.0.1:9200]}, publish_address {inet[/127.0.0.1:9200]} [2015-05-23 15:59:02,335][INFO ][node ] [Forbush Man] started [2015-05-23 15:59:02,993][INFO ][gateway ] [Forbush Man] recovered [5] indices into cluster_state
プラグインのインストール
デバッグ用プラグイン
- クエリをデバッグ実行するコンソール
- analyzer(文字列を分割する)の結果を確認するツール
- inquisitor
それぞれ以下のコマンドでインストールする
> /usr/local/bin/plugin -install elasticsearch/marvel/latest > /usr/local/bin/plugin -install polyfractal/elasticsearch-inquisitor
日本語形態素解析用のプラグイン
これを入れておかないと、日本語のキーワードで検索した際に正しくないものがヒットしてしまう場合がある (昔Namazuで日本語で検索すると関係ないキーワードがヒットしまったのを思い出すような検索
kuromojiは少しインストールが面倒で、インストールしたelasticsearch のバージョンに合わせて適切なプラグインのバージョンをインストールする必要がある
elasticsearchのバージョン確認
> elasticsearch -v Version: 1.5.2, Build: 62ff986/2015-04-27T09:21:06Z, JVM: 1.8.0_05
この例だと、バージョンは1.5.2
kuromoji のページに飛び、elasticsearchのバージョンが1.5の場合はkuromojiの2.5.0が該当するpluginだとわかる kuromoji2.5.0のインストールコマンド
> /usr/local/bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.5.0
pluginがインストールされているか確認
elasticsearchを起動して、デフォルトのportである9200にアクセスする
コンソールから確認する方法
curl -XGET 127.0.0.1:9200/_cat/plugins # ローカルサーバをlocalhostで引きたい場合は--ipv4オプションを付けること, こうしないとipv6の名前を引こうとしてエラーになる。詳細は調べてない # curl -XGET --ipv4 localhost:9200/_cat/plugins Sligguth analysis-kuromoji 2.5.0 j Sligguth marvel 1.3.1 j/s /_plugin/marvel/ Sligguth inquisitor NA s /_plugin/inquisitor/
senseから確認する方法
先ほどインスールしたplugin: marvelの機能senseを使ってインストールされているpluginを確認する
以下のURLにアクセスする http://localhost:9200/_plugin/marvel/sense/index.html
画像のようにコンソールを売ったようなコマンドを実行し、結果が表示されればOK
ref: 実践!Elasticsearch