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

什么是Kibana?

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

ik分词器的安装

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

我们只需要把分词器的压缩包上传到这个plugins文件里面就可以了
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
解压这个压缩包,并且取名为jk-onalyzer(-d后面的就是解压后的文件名字)
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
可以看到,解压成功了,但是解压成功后有件事情需要做,就是把这个压缩包给删掉,不然的话放在plugins里面它会以为是个插件,但是由于是压缩包却运行不了,会报错,所以要删掉。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
rm -f 文件名,这就是删除操作。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

Elasticsearch客户端api的种类

可以用不同语言编写

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

Elasticsearch操作索引

下面就是Elasticsearch和传统MySQL的概念对比
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

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

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

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
启动Kibana,打开bin文件双击这个bat文件并等待
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

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

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

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
还有个删除功能,结果会显示404,因为已经被删了
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

映射

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

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

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

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
查看映射关系的语法:
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
查完后索引已经存在了,就可以去添加数据了。

这里说个小插曲,也就是type的类型,如下所示:
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
我们用得最多的是这四个
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

新增数据

在下面的图片中,POST代表新增的意思,然后加入索引库,类型名也就是数据表名,key也就是字段,这三个合起来就是你要给哪个索引库,哪个数据表和哪个字段添加数据。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
示例:
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
查询的执行语法,索引库,_search方法,还有下面的语法是查找全部的意思,可以看到右边id是随机生成的

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
如果要改id,直接在POST方法的商品名后面加上id就可以了
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
我们是否可以加上是否上架的参数呢?

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
答案是可以的,但是你要提前定义好字段
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
在这个文件里面
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
执行一下,执行成功
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
我们可以看看是什么映射,它会根据你添加的字段名判断你是什么映射,看到下面的saleable是个boolean

Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
现在新增已经完成了,修改也完成了,修改就是POST那里改的id和小米手机变大米。

再来看看删除操作,要输入的就是DELETE,加上索引库/商品名/id,然后可以看到右边被删除了。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
查询,刚刚的id的商品信息已经没有了,也就是小米信息已经全部没了。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
然后我们的增删改功能就如上所示了。

查询

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

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

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

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

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

我们可以用这个方法进行查询,这个的意思是满足词语的百分之多少然后就可以完成查询,因为我们这里是百分之75,总共3个词,百分之75也就是2点多个词,也就是说它要满足2点多个词才能完成查询,满足2点多个词意味着大于2个词了,也就是要到3个词了。所以查不出来。如果我们修改为百分之60,也就是1.8个词,那么2个词就满足这个条件,就可以查出来了。
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法
Kibana的作用以及使用,ik分词器的配置方法,在Kibana中编写ElastSearch的增删改查方法

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

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

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