elasticsearch开发利器—kabana安装与使用

946 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情

前言

在更文活动的第三天,我们已经完成了es集成ik分词器,今天我们介绍一下es开发利器kabana。

安装kibana

大家可能听说过elk日志追踪,其中e当然就是es,l代表logstash,k就是代表kibana(关于elk日志收集如果大家有兴趣我会在后续的文章中讲一下如何集成)。kibana的作用相当于提供了一个可视化界面供我们按照规则开进行es sql开发。下面我们来安装一下

  • 前往这个地址kibana加速下载,点击download然后压缩。注意,此处要和es的版本一致。
  • 找到kibana的安装路径,我们直接双击/bin目录下的kibana.bat启动即可。
  • 启动完成之后访问http://localhost:5601 即可访问到kibana的主页
  • 如果是第一次启动的话会提示要输入秘钥。我们直接点击输入凭证下方超链接进入自己设置,默认输入地址是我们的es地址。所以我们进入即可(这里我进入的时候忘记截图了,大家有疑问可以在评论区中截图)

初始kabana

我这里主要介绍一下kabana8中我们常用的工具

1649058869(1).png 我简单介绍图中标注的这几处地方

  1. 这里显示的是我们的索引列表,索引查询支持模糊匹配,例如想查询名称中含有demo的索引,只需要在输入框中输入demo即可,注意es的搜索结果是可以排序的,运用好了的话在平常的工作中会节约大部分排查问题的时间。
  2. 代表有几个分区
  3. 代表有几个备份
  4. 代表索引中有几条数据
  5. 占用的内存
  6. 这里我们看的主要是是否查询隐藏索引的选项,有时候我们会发现es数据占用的空间很大,但是我们的业务量可能没有那么多,这个时候可能就是隐藏的监控和日志占用的空间比较大了。
  7. 第七处我没有标记出来,是截图中的那个蓝色的按钮区域,我们在这里可以进行索引数据清空,索引删除等操作(所以说,我们必须在生产环境上给es、kabana加上账号密码,保证数据安全)

1649060180(1).png 这里示例案例是查询我们所有索引里的数据,我简单介绍一我标注的这几个地方

  1. 声明我们请求的方法,一般是是四个GET(查询配置居多) POST(查询数据居多) DELETE(删除数据居多) PUT(初始化索引、修改索引、添加数据居多)
  2. 请求体和请求路径
  3. 运行查询体的方法
  4. 查询出来的结果显示(json格式)

dev tools使用时间

这里介绍一下如何使用dev tools,按照创、增、查、删来依次说明

  • 创:创建索引,我们的内容如下
PUT day_two_demo
{
	"settings": {
		"number_of_shards": 1,
		"number_of_replicas": 0
	}
}
  • 增:添加一条数据的内容如下
PUT /day_two_demo/_doc/123
{"name":"hello world","age":18,"balance":100.0,"enabled":true}
  • 查:查询索引配置、索引内数据等
  1. 查询配置可以直接传入的内容如下
GET day_two_demo

在右侧即可显示索引的配置信息 2. 查询数据:我们先随机查询插入几条数据,例如名称张三、李四等,我们可以传入下边的内容完全匹配查询

POST /day_two_demo/_search
{
"query": {"match":{
    "name.keyword":"张三A"
  }}  
}

1649074264(1).png
相信你也注意到了,我们的请求体的属性中中加上了.keyword。这里解释一下:
Text: 会分词,然后进行索引
支持模糊、精确查询
不支持聚合
keyword:
不进行分词,直接索引
支持模糊、精确查询
支持聚合、、 也可以试一下直接查询name属性,会查询出所有的张、三、A的信息

  • 删:删除数据、删除索引

删除数据

一般的查询大部分是根据id查询,我们直接传入内容如下就可以删除对应的数据了

DELETE /day_two_demo/_doc/123

其中123代表内容的id

删除索引

删除索引更为简单我们直接传入请求体如下就可以啦

DELETE /day_two_demo/

结语

今天我们熟悉了一下kabana,并且了解了使用kabana来开发es的query。现在,万事俱备只欠东风,我们将在下一篇文章中探索基于ik分词器的电商搜索实现。欢迎关注点赞!