这里的版本号与ES保持一致
docker pull docker.elastic.co/kibana/kibana:8.7.0
镜像名称太长改成kibana:8.7.0
启动一个默认容器复制配置文件docker cp kibana:/usr/share/kibana/config /dp/vm/kibana
修改其中的 elasticsearch.hosts: [ "http://es:9200"]或者下一步通过ELASTICSEARCH_HOSTS指定
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
-v /dp/vm/kibana1/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
--network=es-net \
-p 5600:5601 \
kibana:8.7.0
--network es-net:加入一个名为 es-net 的网络中,与 elasticsearch 在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200:设置 elasticsearch 的地址,因为 kibana 已经与 elasticsearch 在一个网络,因此可以用容器名直接访问 elasticsearch
-p 5600:5601:宿主机的5600影射到容器的5601端口
kibana 启动一般比较慢,需要多等待一会,可以通过命令
打开首页自己浏览》开发工具
或直接打工以下地址
http://IP:5600/app/dev_tools#/console
可以操作es
默认主键_id#创建索引 PUT index_user #查询索引 GET index_user #查看索引是否存在 HEAD index_simple #查询所有索引 GET _cat/indices #删除 DELETE index_user #添加索引数据 如果不指定ID会生成随机ID POST index_user/_doc/1021 { "id":1021, "code":100, "tel":123 } #添加索引数据 PUT需要指定ID PUT index_user/_doc/102 { "id":1021, "code":100, "tel":123 } #批量添加 也可以写上索引名 PUT index_user/_bulk PUT */_bulk {"index":{"_index":"index_user", "_id":"10011"}} {"id":1001, "name":"a b", "age":20} {"index":{"_index":"index_user", "_id":"10012"}} {"id":1002, "name":"b c", "age":20} {"index":{"_index":"index_user", "_id":"10013"}} {"id":1003, "name":"c d", "age":30} #如果没有_id会自动生成随机值 PUT index_user/_bulk {"index":{"_index":"index_user"}} {"id":1001, "name":"a b", "age":20} {"index":{"_index":"index_user", "_id":"10012"}} {"id":1002, "name":"b c", "age":20} {"index":{"_index":"index_user"}} {"id":1003, "name":"c d", "age":30} #查询索引数据 GET index_user/_doc/101 #搜索数据 GET index_user/_search #按条件搜索数据 不区分数据类型 #包含a 或 c GET index_user/_search { "query":{ "match":{ "name":"a c" } }, "_source":["id","name"], "sort":[ { "id":{ "order":"asc" } } ], "from": 0, "size": 10 } #多条件 or name包含a 或id=1002 GET index_user/_search { "query":{ "bool": { "should": [ {"match": { "name": "a" }}, {"match": { "id": "1002" }} ] } } } #聚合查询 GET index_user/_search { "aggs": { "aggGroup": { "terms": { "field": "age" }, "aggs": { "年龄和": { "sum":{ "field": "age" } }, "平均年龄": { "avg":{ "field": "age" } } } } } } #删除数据 DELETE index_user/_doc/101 #中文分词 GET _analyze { "analyzer": "ik_smart", "text": ["我是一个中国人","我的个人所得税"] } GET _analyze { "analyzer": "ik_max_word", "text": ["我是一个中国人"] }