1. Kibana的安装
Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。
# 1.下载Kibana
https://www.elastic.co/downloads/kibana
https://www.elastic.co/cn/downloads/past-releases/kibana-6-8-0
注意:Kibana要和安装的ElasticSearch对应版本
# 2. 到kibana目录下解压kibana
- tar -xzf kibana-6.8.0-linux-x86_64.tar.gz
# 3. 到kibana的config目录
- cd ../kibana-6.8.0-linux-x86_64/config
# 4. 编辑kibana配置文件
- vim kibana.yml
# 5. 修改如下配置(192.168.202.200为虚拟机的IP,根据自己实际IP修改)
- server.port: 5601 #去掉'#'符号,开启端口
- server.host: "192.168.202.200" #ES服务器主机地址
- elasticsearch.hosts: ["http://192.168.202.200:9200"] #ES服务器地址
# 6. 启动kibana
- cd ../kibana-6.8.0-linux-x86_64/bin
- ./kibana
# 7. 访问kibana的web界面
- http://192.168.202.200:5601/ #kibana默认端口为5601 使用主机:端口直接访问即可
如果遇到这个报错:
Another Kibana instance appears to be migrating the index. Waiting for that migration to complete. If no other Kibana instance is attempting migrations, you can get past this message by deleting index .kibana_1 and restarting Kibana.
且访问时:
解决办法:
- curl -XDELETE http://localhost:9200/.kibana_1
2. Kibana的基本操作
2.1 索引(Index)的基本操作
PUT /dangdang/ 创建索引
DELETE /dangdang 删除索引
DELETE /* 删除所有索引
GET /_cat/indices?v 查看索引信息
2.2 类型(type)的基本操作
创建类型
1.创建/dangdang索引并创建(product)类型
PUT /dangdang
{
"mappings": {
"product": {
"properties": {
"title": { "type": "text" },
"name": { "type": "text" },
"age": { "type": "integer" },
"created": {
"type": "date"
}
}
}
}
}
注意: 这种方式创建类型要求索引不能存在
Mapping Type: : text , keyword , date ,integer, long , double , boolean or ip
查看类型
GET /dangdang/_mapping/product # 语法:GET /索引名/_mapping/类型名
2.3 文档(document)的基本操作
添加文档
PUT /ems/emp/1 #/索引/类型/id
{
"name":"赵小六",
"age":23,
"bir":"2012-12-12",
"content":"这是一个好一点的员工"
}
查询文档
GET /ems/emp/1
返回结果:
{
"_index": "ems",
"_type": "emp",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"name": "赵小六",
"age": 23,
"bir": "2012-12-12",
"content": "这是一个好一点的员工"
}
}
删除文档
DELETE /ems/emp/1
{
"_index": "ems",
"_type": "emp",
"_id": "1",
"_version": 2,
"result": "deleted", #删除成功
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
更新文档
1.第一种方式 更新原有的数据
POST /dangdang/emp/1/_update
{
"doc":{
"name":"xiaohei"
}
}
2.第二种方式 添加新的数据
POST /ems/emp/1/_update
{
"doc":{
"name":"xiaohei",
"age":11,
"dpet":"你好部门"
}
}
3.第三种方式 在原来数据基础上更新
POST /ems/emp/1/_update
{
"script": "ctx._source.age += 5"
}
ES的使用语法风格为:
<REST Verb> /<Index>/<Type>/<ID>
REST操作 /索引/类型/文档id
批量操作
1. 批量索引两个文档
PUT /dangdang/emp/_bulk
{"index":{"_id":"1"}}
{"name": "John Doe","age":23,"bir":"2012-12-12"}
{"index":{"_id":"2"}}
{"name": "Jane Doe","age":23,"bir":"2012-12-12"}
2. 更新文档同时删除文档
POST /dangdang/emp/_bulk
{"update":{"_id":"1"}}
{"doc":{"name":"lisi"}}
{"delete":{"_id":2}}
{"index":{}}
{"name":"xxx","age":23}
注意:批量时不会因为一个失败而全部失败,二十继续执行后续操作,批量在返回时按照执行的状态开始返回