こんにちわ
がじぇったー (@hackmylife7) | Twitter
です。
仕事でelasticsearch+kibanaの環境をサクッとローカルで作る必要があったのでそのメモです。
構築手順
海外のページにdocker-compose.ymlが載っていたので基本そのままです。
Dockerはあらかじめインストールしてください。
mkdir -p /tmp/kibana-es cd /tmp/kibana-es vi docker-compose.yml
以下内容の貼り付け
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.3.2
ports:
- "5601:5601"起動します
docker-compose up -d
localhostでesとkibanaのページが見れるはずです。
Elasticsearch is available at http://localhost:8100/
Kibana UI is up at http://localhost:5601/
kibanaからelasticsearchへのデータ登録
kibanaのサイドメニューの「Dev Tools」からElasticSearchへのデータの登録が可能です。

データの登録
データの登録はPostです
POST /test_data/_doc
{"hoge": "テストだよ"}
登録したデータの確認
GET /test_*
レスポンス
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "test_data",
"_type": "_doc",
"_id": "ow8sSHABJZqys3wWPnNH",
"_score": 1,
"_source": {
"hoge": "テストだよ"
}
},
{
"_index": "test_data",
"_type": "_doc",
"_id": "pA8sSHABJZqys3wWRHMK",
"_score": 1,
"_source": {
"hoge": "テストだよ"
}
}
]
}
}
Queryでのデータの確認
GET /test_data/_search
{"query": {"match": {"hoge": "テストだよ"}}}
表示件数を指定して確認
GET /test_data/_search?size=30
IDを指定してドキュメントを削除
DELETE /test_data/_doc/ow8sSHABJZqys3wWPnNH
レスポンス
{
"_index": "test_data",
"_type": "_doc",
"_id": "ow8sSHABJZqys3wWPnNH",
"_version": 2,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
[asin:4295003913:detail]