00:01
那前面呢,我们说了更新,接下来我们再来说删除,如何删除ES中的一个文档,语法格式呢,还是一样,Delete,我们必须呢发送delete方式的请求,删除哪个索引,哪个类型下的哪个文档,得把这个文档的唯一标识我们来带上来测试一下,还是把我们这个地址呢?我来复制过来,CTRLC复制到这,我们把其他的都关掉,Close others。我们想要删除,那就必须发送delete请求来进行测试,Send在这一块呢,返回200 OK,那这一块就叫result delete删除成功了。如果删除成功,我们再想要查询我们这个数据,我们来看一下,查询一号数据,点一个send,最终呢就会响应fund force,我们没有找到这条数据。而且呢,响应状态码也会是404这个状态码,这是我们删除某一条数据,当然我们也可以来删除我们整个索引,那么这有一个删除,我们想要删除我们这个customer整个索引,那么就直接这么来写就行了,这样呢就可以删除索引,但有些同学说能不能删除类型啊,这个类型不就是my circleq中的表吗?MYSQL可以drop table来删除表。
01:18
但我们ES中呢,没有直接来删除类型,所以说一个索引下可以有非常多种类型,但是E呢,没有提供类型的删除操作,你只可以删除整个索引,或者呢,把这个类下的所有数据你都清空了,那这样呢,也算是删除了我们这个类型,这是我们说的删除文档,比如我们来删除了这个索引,那直接把这个customer我们来进行删除走。那这就会响应knowledge是true,那我们想要再来查询一号的,我来发送请求,那这一块就直接变成了这个样子,索引都删了,所以我们想要查询呢,我们响应的这个状态就跟那条记录不存在是不一样的状态,这块状态呢,直接会说索引没有找到,这是我们说的删除功能。
02:06
那这样呢,我们就测试了我们整个ES的简单的增删改查操作,接下来我们可以给S中批量导入一些数据,然后我们要测试一些复杂的检索功能,那这个批量导入呢,首先就有一个叫批量API,就是我们说的这个bug,这个批量API呢,它的语法格式是这样子的,首先呢必须得发post请求,好我们在这来测试一下啊,还是给我们这个ES9200端口来发送请求,必须呢是post,因为我们这是一个批量API,那批量呢,接下来就是要这样,那这这种语法格式是在我们customer这个索引这个类型下,我们要批量来做一些事情,好我把这个呢复制过来,CTRLC,那刚才正好把customer这个索引都删掉了。那眉山野克是可以的,我们给批量里边保存一些数据,好,接下来我们写一个杰森,但这个呢,就不是一个杰森了,我们数据语法格式是这样,一个大括号,代表呢,我们一个操作,首先这个index index呢它就叫索引,所以也就是我们的保存操作杠ID,相当于给我们这条数据指定ID,那要保存哪条数据呢?下边是我们真正的内容,那两行为一个整体,这是一个批量操作,保存一个一号数据,数据的内容是这样,那下面两行保存二号数据,数据的内容是这样,所以呢,我们语法格式呢,就是这样,大括号,我们action,我们的要执行的动作,可以是新增,也可以是删除,也可以是修改等等操作。接下来在这一块指定我们要操作数据的一些原数据信息,比如我们的ID是多少,我们要存到哪个索引,哪个类型下等等都可以指定。然后接下来第二行就是我们真正。
03:56
更的这个请求体,我们要保存的整个数据体内容,这是我们的批量的API的语法格式,那么写上来呢,就是这样,我把这两个呢,直接复制过来,复制过来那么这一块呢,就不叫application杰森了,我们直接整一个test。
04:12
第一行,这是我们index,我们要索一条数据,ID是一,它的内容是这个。第二个批量操作还是索引ID为二,它的内容是这个,来执行send。这一块呢,提示我们不接收这样类型的数据,好,我们来调成杰森,好我们来点send,那这一块呢,还是我们这个错误的请求,说我们这个bucket这个批量API,那这个new line有问题,就是我们这个换行它没法识别来得了,像我们这个批量操作呢,在我们po曼里边就没法测了,那么现在就可以移步到我们的Kan里边,我们上节课安装完Kan,我访问过来以后呢,来这有一个DV兔子们的开发工具,在这一块呢,我们可以来测试,来发送所有请求,比如我来要发送我们这个post批量API,好来换下来,我们就叫post编写的时候呢,也有提示,我来复制过来,还是这个customer extern下的这个。
05:12
B,好,我们把这个杠写上,那给这个索引这个类型下来保存数据,那保存什么样的数据呢?接下来我们把这个批量数据CTRLC复制过来,就在这儿,然后我们来运行这个批量API走。然后这一块我们就会出现我们的最终结果,这一块写了一个叫took took呢就是我们花费了多少毫秒,255毫秒as force说明没有发生任何错误,然后这呢,有一个it这块很讲究,相当于我们批量执行保存了两个数据,所以呢,每一个数据会独立统计它自己的结果,比如第一条数据的结果index,我们第一条数据呢,相当于做了一个保存操作,所以这个index代表第一条是执行了一个保存,保存的原信息都是什么,给我们customer这个索引下,这个类型下保存了一号记录,它的版本是一。
06:10
Result,结果是created,我们创建了这条记录,它的CI number以及这些值都有,包括STATUS201,那就是刚新建完成,这是第一条记录的信息,还有第二条记录,第二条呢,也是index,然后我们在这来创建了。而且呢,每一条记录这都是独立的,上一条记录的失败不会影响下一条记录的成功,失败他们都是来独立统计的。并不是像我们马S狗中的事物一样,我们这个批量操作有一个失败,咔,全部回滚啊,没有这个事儿,它都是来独立操作,这是我们说的批量API,那接下来呢,我们就可以导入非常多的批量数据,我们来做后边的测试数据,包括我们这有一个复杂的批量API的这个实例,比如我在这来给大家测一下post bug,好,那在这来测试批量这一块,批量呢,我们没指定任何索引的任何类型,说明我们就要来对整个ES来做一个批量操作,那接下来这个批量操作呢,我们看delete,这是一个删除操作,删除哪个索引,哪个类型下ID为几的数据,然后呢,这是create,这是创建操作,包括呢,我们会创建出这条记录,还有我们这个创建操作呢,由于要创建记录,所以下边是我们这个真正的内容,这个index也是保存记录,下边是真正的内容,Update是更新记录,下边是真正的内容,我把它复制。
07:36
过来CTRLC,我放到我们这一块,然后呢,大家会发现一件事,我们想要删除我们这个里边这个,所以现在都没有任何一条数据都没有想要删除,那肯定是有问题的,而我们接下来才后边才是创建,诶删除呢,由于它没有请求体,所以下边没有它要真正要删除的什么请求体内容都在这个原数据里边,Create,我们创建这是出行键的数据,这两个为一行,然后index,这也是保存,这两个为一行,Update,这是更新,这两个为一行,而且更新呢,它在这重试,如果更新失败,重试三次,好,我们现在来点一个执行指令,这一块呢,提示我们这有一个re try on conflict,我们说这个有一个不知道的参数,说明这个参数啊被新版本废弃了,这些语法呢,都是我基于。
08:30
ES5写的一些语法,那西马废弃了,我就不用了,好我来直接先来执行,那此次执行呢,有一个255,我们花费了225毫秒,没有出现任何错误,而且每一条呢,都是独立统计状态的,好1234,我们执行了四个操作,删除、创建、插入,还有我们这个更新,每一个操作的最终状态,我们这个delete删除状态,它的这个statuss呢是404,那说明我这这个状态啊,连这个记录都没有找到,更别提删除了,好这是第一个,第二个操作呢,我们是创建操作,它的状态是201,这是创建成功的,然后呢,第三个操作,你再来独立统计第三个操作,这是一个更新操作,诶index,这是一个保存操作,保存呢状态还是201,这也是一个保存,第四个呢,才是一个更新,更新呢状态是200,最终的结果是将记录进行了更新,那么这个批量API呢就有了。那接下来我们就。
09:30
来导入我们整体的批量数据,我们在这儿呢,有一个测试的批量样本数据,这个样本数据呢,也是ES官方为我们提供的,这有一个整个数据,我们把这个数据呢,可以先下载来CTRLC来打开这个链接直接回车。这块呢无法访问,我们把这个地址呢,重新复制一下,跟我们以前的这个地址稍微有点不一样,好,我现在来回车。好,现在呢,拿到了我们这个地址,我们现在的整个的数据呢,这就是批量API,首先第一个index,这是一个新增,新增的ID是一,它真正的数据是这么一个数据,这是一个银行的信息,包括有那人员的这个性别,年龄,Lastname first nameme及他的余额,包括他的住址。
10:19
其他银行账户,那么这个ID这都有。他的邮箱以及所属的城市,还有他的雇用者信息这一块都有整个批量数据呢,都在这儿,我ctrl a,我们拿到复制过来,我们来执行这个批量操作,来到我们的KK,然后我们把这一块的批量呢重新来一个post。杠B,好,我们来进行一个批量操作,批量内容我来CTRLV粘贴过来,我们直接回到前边,或者直接在这点运行都行,Ctrl home来回到前边,在这呢是我们这个批量API,我来点个执行这块提示的说这个index是不存在的,哎,我们想要批量执行,由于这个bucket批量API里边并没有指定我们这些数据存在哪个索引哪个类型下,所以我们来在批量执行的时候,我们来指定一下,比如我们来指定将他们都存在这个银行的这个账号这个数据库下,CTRLC,好,我们来执行它,我们在。
11:22
银行这个索引这个类型下,我们来批量执行这些操作执行。我们花费了大概1000多毫秒以后呢,全部执行成功aros force,也就说没有发生任何问题,那么所有的批量数据就保存进去了,那下一节课呢,我们就基于我们保存的这些数据,我们来测试我们的复杂检索功能,包括呢,我们现在还可以看我们节点的一些信息,比如我们来现在来查看我们9200有多少个索引,我点一个send,我们就创建了这么多的索引,Customer,我们之前练习的包括we批量API测试的我们刚才的这个bank,这就是我们银行数据的这个索引,而且有多少条数据,这有一个1000代表我们这个索引下呢,有1000条数据,总共占用了这么多的空间,好,那这就没问题了。
12:10
下一节课我们再来测试我们的复杂检索功能。
我来说两句