【EslaticSearch】Kibana

Kibana

简介:Kibana是一个ES索引库数据统计工具,可以利用ES的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

而且还提供了操作ES索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习ES的语法。

下载镜像

在这里插入图片描述

运行容器

kibana启动一般比较慢,需要多等待一会

docker run -d \
    --name kibana \
    -e ELASTICSEARCH_HOSTS=http://es:9200 \
    --network=es-net \
    -p 5601:5601  \
    kibana:7.12.1
命令解释:

- `--network es-net` :加入一个名为es-net的网络中,与es在同一个网络中
- `-e ELASTICSEARCH_HOSTS=http://es:9200"`:设置es的地址,因为kibana已经与es在一个网络,因此可以用容器名直接访问elasticsearch
- `-p 5601:5601`:端口映射配置

访问

在浏览器输入地址访问:http://192.168.248.128:5601,即可看到结果
在这里插入图片描述

kibana之DevTools界面

在这里插入图片描述
这个界面中可以编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。

在这里插入图片描述

Head 浏览器插件

Head是一款用于查看ES数据库的浏览器插件,我们需要在Chrome浏览器中加载这个插件
在这里插入图片描述
安装完后界面:
在这里插入图片描述

简单操作索引 映射 文档

操作索引

* 创建: PUT /索引库名
	PUT /itheima
	
* 查询: GET /索引库名
	GET /itheima
	
* 删除: DELETE /索引库名
	DELETE /itheima

创建映射

PUT /索引库名/_mapping
{
    "properties": {
        "字段名": {
            "type": "类型", // 类型,可以是text、keyword、long、short、date、integer、object等
            "index": true, // 是否索引,默认为true,不索引的字段后面是不能作为查询条件的
            "analyzer": "分词器", //分词器
            "properties""子字段" //该字段的子字段
        }
    }
}
- 字符:text(可分词,比如住址)、keyword(不可分词,比如邮箱)
- 数值:long、interger、shortbytedouble


- 日期:date,但是建议存储为毫秒值(long)节省空间

- 数组:

- 对象:此类型会被保存为多个字段,例如下面的name,会保存为:name.firstName和name.lastName
示例:
PUT /suoyinkuming/_mapping/
{
      "properties": {
            "title": {
                "type": "text",
                "analyzer":"ik_max_word"
            },
            "images": {
                "type": "keyword",
                "index": false
            },
            "price": {
                "type": "float"
            },
            "name":{
                "properties": {
                      "firstName":{
                        "type":"keyword"
                      },
                      "lastName":{
                        "type":"keyword"
                      }
                }
           } 
      }
}

查看映射

* GET /索引库名/_mapping
	GET /itheima/_mapping

创建索引和映射

语法:
PUT /索引库名
{
    "mappings":{
            "properties":{
                "字段名":{
                    "映射属性名":"映射属性值"
                }
            }
    }
}
示例:
PUT /suoyinkuMing
{
  "mappings": {
      "properties": {
            "title": {
                "type": "text",
                "analyzer":"ik_max_word"
            },
            "images": {
                "type": "keyword",
                "index": false
            },
            "price": {
                "type": "float"
            },
            "name":{
                "properties": {
                      "firstName":{
                        "type":"keyword"
                      },
                      "lastName":{
                        "type":"keyword"
                      }
                }
           }   
      }
  }
}

操作文档

创建文档

POST /索引库名/_doc/[id]  // id是主键,可以自定义,也可以自动生成
{  
	"key": "value"
}

示例:

POST /kuming/_doc/1
{
  "title": "华为手机",
  "images": "http://image.leyou.com/12479122.jpg",
  "price": 2699,
  "name":{
    "firstName":"云",
    "lastName":"赵"
  } 
}


POST /kuming/_doc
{
  "title": "华为手机",
  "images": "http://image.leyou.com/12479122.jpg",
  "price": 2699,
  "name":{
    "firstName":"云",
    "lastName":"赵"
  } 
}

查看文档

GET  /索引库名/_doc/编号

修改文档

全量修改:根据指定的id删除文档,然后新增一个相同id的文档(覆盖原有的内容)

#语法:
PUT /索引库名/_doc/文档id
{
    "字段1": "值1",
    "字段2": "值2"
}
#示例:
POST /kuming/_doc/1
{
  "title": "华为手机",
  "images": "http://image.leyou.com/12479122.jpg",
  "price": 2699,
  "name":{
    "firstName":"云",
    "lastName":"赵"
  } 
}

增量修改:根据指定id修改的文档中的部分字段

#语法:
POST /索引库名/_update/文档id
{
    "doc": {
      "字段名": "新的值"
 	}
}
#示例:
POST /kuming/_update/1
{
  "doc":{
    "price": 3699
  }
}

删除文档

DELETE /索引库名/_doc/id值
DELETE kuming/_doc/1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上官玺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值