1. Elasticsearchをインストールする
$ brew install elasticsearch
※ 2015/10/30現在、brewでインストールされるelasticsearchは1.7.3。
2. Elasticsearchにプラグインをインストールする
今回インストールしたのは、起動用のスクリプトと形態素解析エンジンのkuromoji。
$ /usr/local/bin/plugin -install elasticsearch/marvel/latest $ /usr/local/bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.7.0
3. Elasticsearchを起動する
$ elasticsearch
4. AnalyzerとMappingの設定
今回は以下のように設定。
{ "settings": { "analysis": { "filter": { "pos_filter": { "type": "kuromoji_part_of_speech", "stoptags": [ "助詞-格助詞-一般", "助詞-終助詞" ] }, "greek_lowercase_filter": { "type": "lowercase", "language": "greek" } }, "tokenizer": { "kuromoji": { "type": "kuromoji_tokenizer" } }, "analyzer": { "kuromoji_analyzer": { "type": "custom", "tokenizer": "kuromoji_tokenizer", "filter": [ "kuromoji_baseform", "pos_filter", "greek_lowercase_filter", "cjk_width" ] } } } }, "mappings": { "post": { "_source": { "enabled": true }, "_all": { "enabled": true, "analyzer": "kuromoji_analyzer" }, "properties": { "id": { "type": "integer", "index": "not_analyzed" }, "name": { "type": "string", "index": "not_analyzed" }, "text": { "type": "string", "index": "analyzed", "analyzer": "kuromoji_analyzer" } } } } }
上半分がAnalyzer、下半分がMappingの設定。
これをanalyzer.json
というファイルにしてElasticsearchにPUT。
$ curl -XPUT localhost:9200/post-demo --data-binary @analyze.json
5. Elasticsearchにデータを投入
設定したMappingに合わせてデータをjson形式にしてPOSTする。
{"index": {"_id": 1, "_type": "post", "_index": "post-demo"}} {"id": 1, "name": "user1", "text": "今日の天気は曇だった。"} {"index": {"_id": 2, "_type": "post", "_index": "post-demo"}} {"id": 2, "name": "user2", "text": "今日は昨日に比べて暖かかった。"} {"index": {"_id": 3, "_type": "post", "_index": "post-demo"}} {"id": 3, "name": "user1", "text": "まさかの大雨。昨日洗濯しておくべきだった。"}
今回はこれをdata.json
というファイルにしておき、ElasticsearchにPOST。
$ curl -XPOST localhost:9200/_bulk --data-binary @data.json
念のため、GETでデータが正しく投入されていることを確認。
$ curl -XGET localhost:9200/post-demo/post/_search -d '{"query":{"match":{"text":"天気"}}}'
6. Kibanaのダウンロードと起動
こちらからkibanaをダウンロードしてくる。
※ kibana 4.2.0以降はelasticsearch 2.0.0以降でないと動作しませんでした。今回elasticsearch 1.7.3を使用しているので、kibana 4.1.2をここから落としてきて使用します。
ダウンロードしてきて中身を取り出せたら、kibanaを起動します。
$ [kibanaのホーム]/bin/kibana
7. kibanaの設定
(http://localhost:5601/)へアクセスし、「index name or pattern」に作成したインデックス名(今回はpost-demo)を入れる。また、今回は「Index contains time-based events 」のチェックを外しておく。
8. kibanaでグラフを表示する
メニューバーの「Visualize」から好きなグラフの形を選択、X軸・Y軸それぞれの要素を決定してグラフを表示。
最後に
後半がテキトウになった感は否めない。