Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

什么是Kibana?

在这里插入图片描述

ik分词器的安装

分词器有什么作用呢?如果我们没有分词器的话,搜索引擎搜索到我们的网页时,就会把一段话拆分为一个字一个字的词语,对我们的搜索结果排名不利,但是如果我们有分词器,就可以把几个字分成一个词语,这样别人能够通过搜索引擎优先搜索到我们的结果

我们只需要把分词器的压缩包上传到这个plugins文件里面就可以了
在这里插入图片描述
在这里插入图片描述
解压这个压缩包,并且取名为jk-onalyzer(-d后面的就是解压后的文件名字)
在这里插入图片描述
可以看到,解压成功了,但是解压成功后有件事情需要做,就是把这个压缩包给删掉,不然的话放在plugins里面它会以为是个插件,但是由于是压缩包却运行不了,会报错,所以要删掉。
在这里插入图片描述
rm -f 文件名,这就是删除操作。
在这里插入图片描述

Elasticsearch客户端api的种类

可以用不同语言编写

在这里插入图片描述

Elasticsearch操作索引

下面就是Elasticsearch和传统MySQL的概念对比
在这里插入图片描述

配置Kibana,让它连接到Elasticsearch接口

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
启动Kibana,打开bin文件双击这个bat文件并等待
在这里插入图片描述
在这里插入图片描述

创建索引,我们可以通过浏览器直接试试

在这里插入图片描述
点击浏览器这里
在这里插入图片描述
打开这个Rest客户端
在这里插入图片描述
这个地址就是Elasticsearch地址,heima1是索引库名
在这里插入图片描述
在这里插入图片描述
请求方式是PUT请求,然后下面那个删掉
在这里插入图片描述
这里也是全部清空
在这里插入图片描述
在这里插入图片描述
点击提交
在这里插入图片描述
发送成功
在这里插入图片描述
但是这种方法有缺点也就是可能我们文件名不太清楚,请求方式也不太清楚,json这么复杂也难写出来。
在这里插入图片描述
所以我们可以借助Kibana这个可视化工具来帮助我们,Kibana还有语法提示,看看下面就是它的地址。
在这里插入图片描述
复制地址到浏览器打开
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
还有个删除功能,结果会显示404,因为已经被删了
在这里插入图片描述

映射

映射的概念
在这里插入图片描述

在这里插入图片描述

这里说明一下就是index是索引的意思,默认值为true,如果你不需要索引,你可以加上index等于false,可以看到标题和价格都需要索引,价格是因为你有价格区间要查询,所以有索引。还有一个值是store,这个默认为false,我们一般不设为true,因为Elasticsearch在创建文档索引的时候,会自动保存一份数据到_source中,如果你设置store为true,它就会额外在_source中备份多一份数据,比较多余,所以我们不用写,它就已经默认为false。

在这里插入图片描述
查看映射关系的语法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查完后索引已经存在了,就可以去添加数据了。

这里说个小插曲,也就是type的类型,如下所示:
在这里插入图片描述
我们用得最多的是这四个
在这里插入图片描述

新增数据

在下面的图片中,POST代表新增的意思,然后加入索引库,类型名也就是数据表名,key也就是字段,这三个合起来就是你要给哪个索引库,哪个数据表和哪个字段添加数据。
在这里插入图片描述
示例:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查询的执行语法,索引库,_search方法,还有下面的语法是查找全部的意思,可以看到右边id是随机生成的

在这里插入图片描述
如果要改id,直接在POST方法的商品名后面加上id就可以了
在这里插入图片描述
我们是否可以加上是否上架的参数呢?

在这里插入图片描述
答案是可以的,但是你要提前定义好字段
在这里插入图片描述
在这个文件里面
在这里插入图片描述
执行一下,执行成功
在这里插入图片描述
我们可以看看是什么映射,它会根据你添加的字段名判断你是什么映射,看到下面的saleable是个boolean

在这里插入图片描述
现在新增已经完成了,修改也完成了,修改就是POST那里改的id和小米手机变大米。

再来看看删除操作,要输入的就是DELETE,加上索引库/商品名/id,然后可以看到右边被删除了。
在这里插入图片描述
查询,刚刚的id的商品信息已经没有了,也就是小米信息已经全部没了。
在这里插入图片描述
然后我们的增删改功能就如上所示了。

查询

查询的格式如下
在这里插入图片描述
示例:(最简单的就是match_all,这个是查询所有,所以不需要查询条件和查询条件值)
在这里插入图片描述
下面介绍一下以下图片中右表的参数:took:加载使用时间。time_out:是否超时。_shards:分片信息。total:最大分片数。successful:成功分片数。skipped:跳过分片数。failed:失败分片数。hits:命中。total:命中总数。max_score:最大得分。hits:命中信息。index:索引库名。type:数据表名(也是类型)。id:id数。score:得分。source:数据信息。

这里说明一下,命中得分是你这个信息的关键词有多么靠前,得分越高越靠前。
在这里插入图片描述
如果要新增数据可以直接在上面的POST方法里面直接修改,只需要注意把id改为不同的就可以了,如果你要修改同一个id的数据只需要id设为一样再去修改就可以了。
在这里插入图片描述
这里说明一下,无论是POST还是PUT方法,两个都是可以使用到创建这个作用的,但是POST多了一个更新的作用。
在这里插入图片描述

在这里插入图片描述
如果是直接搜索小米手机,分词器的作用就出来了,先是小米手机第一个被搜索,再到小米开头的,然后到大米,有个排行顺序。
在这里插入图片描述
如果我只想看到“小米手机”这一条查询结果,该怎么操作呢?首先我们要把title后面变成一个花括号,然后加入query,查询标题为“小米手机”,然后用and分开,它就会精准只查“小米手机”四个字,这个是什么原理呢?原因是因为分词器把“小米”和“手机”用“and”连接了起来,所以就做到了精准查询,如果是用“or”的话,那就是“小米”“or”“手机”,所以就会优先搜索“小米”,至于是“小米”配上哪个关键词,优先是“手机”,还会出现“电视”,“家居”等等关键词。

在这里插入图片描述

但是如果你用了上面的搜索方法,然而用户只输入了两个字或者三个字,你该如何完成这个查询呢?

我们可以用这个方法进行查询,这个的意思是满足词语的百分之多少然后就可以完成查询,因为我们这里是百分之75,总共3个词,百分之75也就是2点多个词,也就是说它要满足2点多个词才能完成查询,满足2点多个词意味着大于2个词了,也就是要到3个词了。所以查不出来。如果我们修改为百分之60,也就是1.8个词,那么2个词就满足这个条件,就可以查出来了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
如何进行多字段查询(也就是标题也有,副标题也有)
在这里插入图片描述
词条查询,term表示词条查询方法,字段为title,值为value,也就是小米,可以看到右边很多结果。
在这里插入图片描述
但是如果词条为“小米手机”,一运行就查询不到了,这是为什么呢?因为如果直接查“小米手机”,然后设置在title里面进行查询,我们用匹配的方法还可以进行查询,因为匹配的方法是把“小米手机”分为两个词:“小米”和“手机”。但是我们这里是根据词条查询的方法,“小米手机”直接就是一个词没有分割,但是在索引库当中title名都是被分词器分割了,没有一个词是直接叫“小米手机”,只有“小米”,“手机”,所以词条查询是查不到的。
在这里插入图片描述
多词条查询如下,注意多词条只需要多加值(value)就可以了,title后面改为中括号而不是花括号
在这里插入图片描述

总结一下,以上为ElastSearch的增删改查方法,只是借助了Kibana这个可视化工具来进行显示,所以比较通俗容易,具体的增删改查方法就在上面了,增也就是POST和PUT,改就是POST,删DELETE 查就是search,另外查询有分词查询,匹配查询,多字段查询,概率查询等等。上面还说明了ik分词器压缩包的导入,然后解压到plugins里面,然后删掉旧的压缩包。

Kibana的话直接就是一个文件,你放在windows里面就可以了,然后需要使用的时候要打开它的config配置文件里面,写上虚拟机地址加上ElastSearch的端口,让它可以去连接到ElastSearch的接口,然后去运行它的bat文件,运行的时候可能需要等一段时间,然后成功后,它就会显示出很多代码,最后一行就是Kibana的地址,复制到浏览器打开就可以使用Kibana去编写ElastSearch了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值