8. Kibana的安装
Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。
用root用户上传和安装
# 1.下载Kibana
- https://www.elastic.co/downloads/kibana
# 2. 安装下载的kibana
- rpm -ivh kibana-6.2.4-x86_64.rpm
# 3. 查找kibana的安装位置
- find / -name kibana
# 4. 编辑kibana配置文件
- [root@localhost /]# vim /etc/kibana/kibana.yml
# 5. 修改如下配置
- server.host: "192.168.202.200" #ES服务器主机地址
- elasticsearch.hosts: ["http://192.168.202.200:9200"] #ES服务器地址
# 6. 启动kibana
- systemctl start kibana
systemctl stop kibana
systemctl status kibana
# 7. 访问kibana的web界面
- http://192.168.202.200:5601/ #kibana默认端口为5601 使用主机:端口直接访问即可
9. Kibana的基本操作
9.1 索引(Index)的基本操作
PUT /dangdang/ 创建索引
DELETE /dangdang 删除索引
DELETE /* 删除所有索引
GET /_cat/indices?v 查看索引信息
9.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/类型名
9.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}
注意:批量时不会因为一个失败而全部失败,二十继续执行后续操作,批量在返回时按照执行的状态开始返回
ES 索引index 类型 type 映射mapping 文档document
1、索引相关操作
GET /_cat/indices?v
DELETE /ems
PUT /ems
2、类型和映射操作
PUT /ems
{
"mappings": {
"emp":{
"properties":{
"name":{"type":"keyword"},
"age":{"type":"integer"},
"bir":{"type":"date"},
"intr":{"type":"text"}
}
}
}
}
GET /ems
GET /ems/_mapping
3、文档相关操作 添加文档 删除 修改 查询
添加PUT 索引 类型 _id
PUT /ems/emp/2
{
"name":"nonono",
"age":30,
"bir":"2021-01-20",
"intr":"是个好人!"
}
添加POST 可以自己产生_id
POST /ems/emp
{
"name":"gao",
"age":24,
"bir":"2021-01-20",
"intr":"是个好人呢!"
}
查询
GET /ems/emp/2
删除
DELETE /ems/emp/1
DELETE /ems/emp/k5wWF3cBnFadSB2r3KKQ
更新
1、不保留原始数据更新(先删除再插入)
POST /ems/emp/k5wWF3cBnFadSB2r3KKQ
{
"name":"小明"
}
2、保存原始数据的更新 (可以像dept,这样去新增字段)
POST /ems/emp/k5wWF3cBnFadSB2r3KKQ/_update
{
"doc":{
"name":"gaogao",
"age":25,
"dept":"研发部"
}
}
3、脚本更新script
POST /ems/emp/k5wWF3cBnFadSB2r3KKQ/_update
{
"script": "ctx._source.age+=3"
}
文档批量操作 _bulk(批量操作) 添加(index) 删除(delete) 更新(update)
PUT /ems/emp/_bulk
{"index":{"_id":"3"}}
{"name":"Ngnono","age":33,"bir":"2020-01-20","inr":"我也是个好人"}
{"delete":{"_id":"1"}}
{"update":{"_id":"2"}}
{"doc":{"name":"小霸王","intr":"这是一个游戏机"}}