Elasticsearchを準備してKibanaでグラフを表示するまで
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軸それぞれの要素を決定してグラフを表示。
最後に
後半がテキトウになった感は否めない。