00:00
呃,那么接下来啊,咱们就来看一看,关于我们现在呢,这个iner的方法怎么应该去实现对吧?怎么应该去实现,呃,那目前呢,在我们现在ESU求里边没有这个方法,没有这个方法呢,咱们现在把这方法呀,创建一个啊,那么当前这个方法它所完成的功能啊,那应该是向我们的ES中啊,向我们的个ES中来批量的去插入数据啊,需量查数据,那么咱当前方法呀,有两个参数对吧,你在调的时候呢,会给我传过来,那么一个呢,是我们do in for list对吧?这个写错了吗?You in for,这个都无所谓参数名称嘛,对吧,一个是我们Du in for list,这个呢是我们do in for list对吧?然后另外一个呢,咱们是我们的索引的名称,所以说呢,在这里对吧,那把这个东西改一改,Do in for,对,In for list,然后这个呢,是不是。
01:01
应该是我们当前这个索引它这个名称啊,对吧,然后有了这两个参数之外之后呢,那我就可以啊向ES里边来插入数据了,好了,那同学们,那咱现在呢,那就来呗,怎么样向ES里边来查数据,大概的一个过程流程应该是什么样的。最起码三大步是不是对吧?来那咱现在啊把这个东西对吧给它写一写,那第一个呢,那么咱们首先第一个是不是应该是获取我们现在操作ES客户端呀,对吧,来获取客户端啊吧,获取客户端这个呢,这里面是不是有个方法叫get get client,然后点VR对吧,然后接下来这个呢,是我们这个get客户端对吧,然后接下来那这里咱们这个是不是关闭啊的关闭我就不写了,出示对吧,这client点对吧,然后呢,我们这close,然后接下来咱们去执行这个执行操作,应该这client这里面有个方法叫CU对不对,那AQ方法需要传参数,这参数什么来呢?Action对吧,它会把你对我ES的一些我们操作呀,给封装成一个我们这个action这样对象action本身呢是个接口,这个接口呢,它上面有一些我们的具体的实现对吧,所以说呢,大家来看一看,我们现在呢,去执行我们的exq的X。
02:18
Q呢,它需要传一个action进去,这个action呢,它本身在咱们这里边,对吧?它有一些我们这个实现对吧?它就这实现,呃,那么其中呢,你要想做批量的话,那这里有一个什么呀,是不是有一个咱们的B呀,对吧?所以说呢,那么咱们得去把这个对象给创建一下,对吧?那来咱们现在呢,在这里这个关掉了,这个关掉了对吧?这个不要了,这个不要了。然后来到咱们这里边呢,我去创建一个对象是吧?创建批量操作对象是吧,你有一个谁呢?咱们的buk啊来创建它,那么它需要什么参数呢?注意看它本身需要呀,你看一个builder,那么这个时候大家就想这个东西是不是应该是把这builder给拿过来呀,对吧?然后接下来点是不是调build方法呀,你会发现啊,你在调build的时候呢,调不了,但你看咱们原来你看在在上面再去调我们现在的一些build方法的时候,你看你有一个search.build然后后边这个东西它肯定可以咱们build的,对吧?什么原因呢?这是比较容易忽略的一个问题,同学们就他认为你现在呢,这个东西它是一个什么,它是一个类型,对吧的类型,那么你现在创对象的时候,你通过new是不是应该是构造方法的方式呀,对吧,那这个时候呢,应该把这东西给我加上。
03:36
然后接下来你就叫它build方法,这样才行对吧?这样才行对吧,注意要不然点不出来啊,其实并不是说它没有这个方法,主是有的啊,其实这是语法检测的一个问题啊,来在这里我们现在呢,把这些东西拿过来,那这样的话呢,我们现在这个就完事了,对吧?那关键是什么呢?关键是我们现在这里边对吧?怎么样把这个东西给做批量操作呢?这个build里边它需要传什么东西呢?它好像也不需要传上对吧?你看我直接就build了对吧?那咱们现在这里注意同学们如果想做批量操作的话,那大家想一想,这个东西你是不是得把里边的东西一个一个的给我拿过来呀,对吧?一个给我拿过来,那么如果一个拿过来,那咱们现在这里边,那怎么来做呢?对吧,那你看一看,在咱们这里边,它还有一些操作什么呢?叫做I的action。
04:29
对吧,而且还还还有什么爱的actions对吧,而且二的action对吧,那么注意啊同学们,那么如果说我现在啊要想去批量的话,其实这个原理呢,也很简单,什么叫批量,其实就是把咱们一个一个的单个操作呀,那么咱们给它什么呀,给它放到一块去啊,给它放一块去,对吧,所以说他们整个在操作的时候呢,那么首先第一个啊,大家想到的咱们现在呢,这里应该有一个我们这个Bill,那么接下来那么你先别着急去构建这一项,因为什么,因为咱们这里是不是有一个叫I的action,我是不是需要把我现在这个这个这个单个操作往里面添加呀,添加完之后呢,再去build什么意思对吧?整体呢,咱们现在在这里,同学们你拿到这东西之后啊,你先别着急去build它,对吧,你先别着急build它,你先干什么呢?你先把这个东西呢给我拿过来啊,你先把它给我拿过来,因为我发现这里面有一个我们的A的方法它。
05:29
可以帮我们把单个的操作往我这里摆放,那么如果你要拿它的话,当前这个类型是什么呢?这个类型你发现它本身是不是一个咱builder呀,对吧?哎,它本身是我们这个build builder对吧,它本身呢,是一个这样对象,然后接下来咱们可以通过我们这build builder它的build的方法的来拿到我们这个P项操作对象,那么接下来,那么咱们现在干什么呢?我在build builder这个啊对象中,它里边啊有一个我们现在这个方法叫什么呢?叫ADD的action,你想一想ADD的action它里边需要查传的是不是应该就是我们现在一个一个action啊对吧,那大想一想这个action到目前为止咱们的实现。
06:12
对,Get用那插入呢。单个插入什么index,然后咱们要批量查询呢。四对吧,是不是四呀,对吧,那么咱们现在这里,你想一想,我现在这里完全可以怎么办呢?完全可以把这个数据一个个批量单个插入进去啊,那么如果单个进去那怎么办呢?是不是咱们现在得对我的集合进行便利啊,对吧?那么来来到这里啊,同学们拿到它,但是你拿了集合之后,这个集合什么时候给你的,是不是咱们现在在这里都要再给的,有没有可能没有的时候,就当前咱们现在有没有可能我现在采集光跑了一圈当前采集周期,啥也没采集到。有这有这时候吧,有这个时候呢,你说咱们是是不需要做什么操作呀,所以说咱们现在这里做一个判断啊,在做这些操作之前,咱们现在呢,先去做一个我判断,判断什么呢?如果你给我传来集合,它不等于空,那并且咱们当前这个集合点S它不等于零的情况下啊,它不等于零情况下,那么说明什么?说明咱们现采集到数据了,采集到数据之后呢,那么你再去给我做这些操作啊,采集到据之后,你再给我做这些操作啊,那么这些操作具体怎么做呢?对那么来首先呢,那么如果他要是拿到了咱们呢,获取客户端,然后接下来,那么如果它不等于空,那么这个时候咱们完全可以对它呢,去做一个我们的便利,对吧,每次便利得到的是一个我们的日活对象第否对吧,然后拿到对象之后呢,那我现在这里对吧,大家想一想,那我是不是可以把当前这一条数据,然后给插入进去啊,对吧?而且这Du是什么,是不是咱们封装一样的内啊同。
07:52
同学们往上走对吧?往上走再给大家介绍我们现在单条插入的第二种方式的时候,对吧?第二种方式的时候,那么你现在怎么做的,是不是直接咱们现在把一个样例封装好,然后咱们直接去把这个东西创建in,然后咱们就完成插入啊对吧?你想想以前咱们用过这种方式,只不过以前的样例咱还得自己维护,现在不需要了,人家直接都给你传过来了,对吧?所以说呢,咱们现在需要干什么,是不是需要创建一个这个单条的我们的index,单条的插入操作是不是就可以了呀,对吧?所以说呢,那么咱们现在这个在这里再写一遍吧,同学们对吧?这个代码呢,再大家再写一遍,对吧?那我们现在呢,要想去创建单调插入,那应该是new一个index对吧,然后接下来这里应该是找它的一个我们这个对吧,构造器模式找它的一个内部啊吧,找的一个内部的一个内叫builder,然后现在需要传什么呢?需要传达这个S,咱们是把咱们当前的do这个样内给他就可以了。
08:52
对吧,然后接下来那你需要去指定一些东西对吧,什么呢?咱们现在得去I的index吧,在这里index你得指定,然后接下来点咱们这个type你得指定,对吧,然后接下来咱们现在呢,这个点ID呢,大家想想这个时候需不需要指定,我在插入的时候,我如果不指定ID不行不行。
09:14
行吧,对吧,不直ID是不是自动帮他是不是一个随机的呀,对吧,暂时先不管呢,这个ID呢,我暂时先不要啊,这个ID呢,暂时我先去不要的,对吧,就说不要的话,这个东西会不会有重复数据啊。啊,会有重复数据,咱们前前面去不重吧,对吧,咱先说去不虫对吧,所以说这块呢,大家注意啊,其实你现在要想保证它密性的话,有两个操作,对red,其实咱们现在已经去过重了,对吧?然后如果说你现在觉得还不放心的话,到时咱们可以再来一次,对吧,可以再在这里我是不是可以传个ID过去对吧?如果ID过去的话,那这个时候咱们我以来测试数据库本身,它是不是也可以帮他支撑B的心啊,对吧?好,咱现在先指定这两个,然后接下来在这里来一个我的build,然后点2VR,这个得到什么呢?得到一个index do index,然后接下来拿到index之后你干什么?把它放在这呗,对,批量操作,批量操作就是每循环一次,我现在做一个单个插入,然后把它放到咱们这个的这个批量操作的这个build里面去,对吧,然后整个啊,咱们现在这个完事之后,咱们批上一次执行,就相当于原来是我一条每次插入一条数据都要和BS打一次交道,现在不是了,现在是一个分区的数据过来我把。
10:30
呃,放在一起打个包,然后和你来设置超过交过一次对吧,然后把这数据都插进去了对吧?那么这里呢,需要指定一些东西,这个index咱们是谁?是不是有一个index name呀,对吧,你是不是往这里面来插入index name这个type呢?对吧,其实是一个摆设了对吧?那么咱们一般呢,就是下限doc对吧,然后这个build对吧,完事了对吧,然后完事了对吧,好了,那咱们现在呢,整个build完之后,那接下来他呢去创建批量操作对对象,然后呢,咱们现在把对象创建好之后执行,那么执行完毕之后呢,它应该有个结果来点VR对吧,这个呢是我们这个啊build result,然后接下来,那么咱们现在可以干什么呢?可以通过我们的build result,它里边有一个方法叫get items,它返回什么是返回这个集合呀,这个代表什么,代表你批量操作这些哪些项,对吧,咱们其实没必要拿这些项,我只需要什么S,然后做一个输出对吧,然后咱们在这里标记一下啊,标记一下咱们向。
11:30
我们这个ES中,然后插入了呃,插入呃多少条。嗯。啊,那这样的话呢,咱们现在啊注意对吧,那我现在呢,我做一个我们这个输出测试对吧,那这样的话,咱们整个呢,这个批量操作呢,就完事了啊像search呀,它批量操作这个呢就完事了。
12:02
啊,那完了之后,咱们现在是不是又得做做测试了,对吧?这个时候咱们又得做测试对吧?呃,那么做测试呢,那么咱们现在这个测试比原来又多了点东西啊,比原又多点东西,因为咱们现在这里是不是以来测试,咱们现在是不是也过来了呀,对吧?所以说呢,那咱们现在啊,在这里我要想去做测试的话,呃,先把这里该清的东西给清一清,对吧?首先呢,来到我们这里对吧,拉SH一下对吧?因为如果说你现在这个集合里边,这个S集合里面如果有东西吧,是不是咱们加不进去啊对吧,这第一个啊,把这些东西搞清一下,然后第二个呢,那么目前呢,咱们来到search里边,对来到里边,然后接下来get一下,看一看当前呢咱们这个index对吧,都有哪些对吧,看一看它当前的index。这带些对吧,这全是木相关的,和咱们的积貌相关的,好像还没有对吧,那没关系对吧,咱们一会呢,还会创建啊,一会创建好了,那我现在呢,把这些都准备好之后呢,来运行某些daup啊这个程序来运行一下。
13:21
应用这个程序,然后接下来呢,那么咱们现在就不要等输出了,因为我这里在咱们这里边我是不是没没做输出啊,对吧,你看咱们现在在我这里边对我没有做输出,因为我这里提交的话,我是不是直接往这里保存了呀,对吧?所以说呢,等的差不多了啊,给你的一个就就应该觉得差不多了,咱们现在直接干什么呢?来形成数据对吧?来看一看这边的success,那么看一看咱们现在的这里边,像ES里边是不是开插入数据了,对吧?像ES里边是开始插入数据了,对吧,刚才插入一会啊。差不多了,对吧,来看咱们现在这里再再插一会儿。
14:02
然后咱们现在呢,他这边插的,咱们这边应该可以查询的来get,对这个呢,是我们这个G帽是吧,看没有。咱们直接呢把它拿过来对吧,我现在呢,把这个东西拿过来对吧,它这个要缓一会儿啊要缓一会儿对吧,然后呢,这个是2020杠,然后呢幺零杠二三是吧,来执行一下是吧,咱们呢要search是吧,下划线search查询导大看一共多少数据,五条数据对吧?一共五条数据对吧?好了,那这样的话啊,同学们咱们现在呢在这里对吧,你其实这块啊,同学们整个代码其实说实话也不难,对吧,但是呢,你们在做的时候,你们现在需要做的就是什么呀,流程你们更要弄明白一点了,对吧,就假如说哎,我现在最终我一查同学们,我最终啊在这里一查,我发现呢,我这个里边没数据,就是我们执行完之后,我这没数据对吧,那么你们就得把整个咱们现在的流程走一走,看一看你的数据这个问题到底出在哪了,对吧?目前咱们基本上能确定咱们涉及到卡不卡,这应该是没没事了。
15:15
对吧,那么到卡卡没事的话,那你想一想,如果没数据的话,是不是有可能咱们这个专的驱虫这块,可能这个环节可能出问题了,对不对,对吧,然后现在那是不是有可能咱们往以来词上写的时候,是不是这个环节出问题了,对吧,就大家呢,注意啊这一块就就你们现在如果说出问题的话,可能代码本身没事,对吧,那有的时候就是什么呢?就是咱们现在对吧,这个在运行的时候,你这个流程么呢,不是特别理解好了,那么这样的话呢,咱们把这个。我稍微的停一下吧啊。
我来说两句
6
nice