00:01
OK啊呃,那我们把这个增啊,就给大家这个写说了一下啊,但是我们刚刚说的是一个单条写入。但其实我们将来这个真正啊去这个往ES中写数据的时候呢,我们尽可能还是能够保证它是一个批量写。因为什么大家想想啊,我们讲过这个ES的写操作啊,如果你是一个单条写入,单条写入,单条写入的话。那么可能你在这一秒钟之内哈,你写的数据量是比较少的,那我就会什么把这一秒钟的数据呢,很少的数据就会给你生成一个段。对吧,很少的数据就会生成一个段,那将来直接导致的就是你的下中的段有很多,但是每个段里面数据呢很少。这个是不好的,那如果说你能够保证你是一个批量写啊,就是我一个批次,我一下写进来很多数据,那大概率情况下,你的这一波数据就会什么生成一个段。那这样的话,我的每个段中的数据是非常非常多的。能明白我的意思吧,就是我们也可以什么从这个代码层面呢,就是尽可能的让它什么生成,呃,尽可能让他什么每个段中的数据呢,会多一点,OK吧,那么这种操作你就要什么使用你的批量写。
01:05
好吧,来下面我说一下这个怎么去拼写啊,那我就把这个。收起来,然后再说一下啊,就是批量鞋。批量写啊。对吧,批量写啊呃,那这个批量写的话也分什么密登和非密的啊,这个密等和非密等的区别就在于你指不指定这个do ID呗,对吧,所以这个我就不再跟你去,呃这个这个分开演示了啊,我就写一个就得了,那我就写一个什么deff,我们叫做呃,这个叫什么叫Bo啊,他这个ES官方呢,就把这个批量写呢,称之为是一个Bo啊OK,这个批量写的话,我们调哪个方法呢?调的这个方法啊,叫做client,第二它就叫Bo。然后吧,它就叫这个方法啊,那么这个方法里面需要我们传什么东西呢?你看一下啊,传一个包括request,然后传一个什么request option。对吧,那你需要什么,你就准备什么啊,那我们就上一个。
02:01
Book request对吧,我先把它扭到这,放到这,然后呢,放到这以后呢,先把它拿过来,先给你扔进去好,然后再放一个叫做request option的default。能看到吧,好,那你既然你是一个批量写的话,那你想想啊,你批量写这里面放什么东西啊,你就可以看一下啊,这个报request里面它要放什么东西啊,他要去填填什么东西呢?其实加的就是一个什么index request,因为我们讲的是批量写嘛,那你可以什么批量删,批量改。对吧,你的删就是delete request,你的改就是什么update request,那现在我们讲的是写,那写的话还是一个什么index request就说白了啊,你的单条数据的写入呢,你是封装成了一个什么index去做的,那你这个多条数据写入,你就把你的每一条数据呢,都封装成一个index request对象。那我有十个数据,那我就分到这十个index request对象,然后呢,最后呢,统一都加到你的这个,包括request里面,它就什么一次性帮你去执行了。所以说你看啊,这里面我们要加的东西是什么呢?加的东西就是你的,呃。
03:04
来加什么东西啊,就往下加这个index request就可以。理解吧,好,那我们加一加啊呃,那我们要加的话,我们现在准备点数据啊,准备点数据,嗯嗯,比如说我们就来一个啥数据啊。呃,来个集合吧,好吧,类似好类似,然后这里面放的是我们的这个movie啊行。好,末尾四啊,然后这里面我就放点东西了啊,就是这个末尾,呃,1002好吧,1002,然后叫这个,呃叫啥呀,叫长津湖是吧。长颈虎,OK,来,再来放啊。多放几个啊,多放几个,呃,然后这个1003啊,诶错了好,然后呢,叫什么叫这个什么水面条对吧。
04:05
好,然后这个1004啊,还有啥呀。随便写吧,啊,叫什么狙击手是吧,再写一个吧,啊1005啊还有什么呀。啊,熊出没是吧。OK。行吧,我这个随便写了几个啊,行,那你看下这是我的数据啊,那我就希望什么能够这个批量的把这个数据呢,写到你的这个ES中,那怎么写呢?那我就可以怎么去迭代你的这个集合了啊,那为什么movie是讲什么for对吧,那我for的时候呢,每个都拿到一个什么movie对象。好吧,拿到一个末位对象啊OK,那接下来你就什么把它的这个单条数据呢,封装成一个这个index request,说你看我要又上一个什么index request。好,这是我的index request,那我弄好以后呢,注意啊,你的这条数据你要写入到你的这条数据,你要写到哪个什么,哪个哪个index里面,你要去指定的吧。
05:06
对吧,所以说我指定一下,我就写到这吧,啊,那我就叫。我就写死了哈,就叫什么,就叫这个movie test。对吧,这是什么指定你的索引了啊,指定索引就说白了啊,我们可以在每条数据中呢,单独去指定你的索引,那就意味着这些数据呢,你可以是写到不同的索引中的啊,并不是说这个批量写就一定要写到一个索引中,不是的,我可以写到不同的索引中,好吧,像指定的索引以后呢,下面就是index request讲什么呀,我们叫做S,我要指定你的数据,那这个S的话呢,我们是需要把你的这个电影呢给他。转成一个什么JA啊,就再叫two,再string,好把这个movie呢搁过来,然后呢,再去用上一个叫做serve con true,好接绍回来,这是我的movie Jason。那我就可以把它呀,直接拿过来放到这里面,然后呢,后面的话,我们接上一个X content type,它是一个加上数据对吧,你要告诉这个ES我给你的是什么格式。
06:03
难看的,那你看一下我的索引也指定好了,然后呢,数据也指定好了,接下来就看你是不是密等写了,如果说你是密等写,那就什么指定ID对吧,非密得写就不指定ID啊,非密登不指定。不指定ID就可以好,那如果你希望是密等写,那就什么再去什么index request,然后呢,我去指定一下你的ID吧。对吧,那你这个每条数据的ID,我想想啊,呃,那我就直接使用这个值得了好不好,直接使用它得了啊,那我可以怎么写,那我就可以写一个叫做movie的ID就完事了,就是我把你这个电影中的这个ID呢,直接当成我的doc ID来去用,好吧,那这就是一个什么密登写了好,那你把你的每一条数据呢,都封装成一个index request以后呢,我们就把这个什么呀,把你的index request给它什么加入到我的什么box request中啊,就是将诶index什么request,然后呢,加入到这个box中啊,就加入到这个批量中啊,你看就把这个东西给它刻进去index。
07:06
对吧,这样的话,你看一下你的每一条数据的所封装的这个index request,我都一都放到这个报request里面了,那我放进去以后呢,我最后呢,我统一去执行一下,这就是一个批量写了。能听懂吧,行,来把这个写完以后,那我们就来试一下了啊,批量写book。好执行一下。好成了啊,来成了以后我们去查数据,呃,现在有这个三条数据,对吧,刚刚有三条数据,现在我又写了几条进项,我又写了,写了这个四条进去啊,那我来查一下,应该是七条数据了啊。这个是不是七条数据了呀,对吧,看一下我们写进来数据啊,你看这个呃,诶。完了,这写错了啊,这写错了,这写了个啥呀,看看啊,写错了啊呃。
08:04
Movie Jason,哦,To Jason了是吧,To Jason群啊对吧,你看他这个地方写的不对啊,你看这是不是写成这写成这种格式了呀。对吧,写成这种格式了,把它写成一个对象了啊,这个不行啊,然后了吧,这个不行啊,我们不要这么去写啊,我们出加词讯啊,刚刚调错方法了啊行吧,那没关系,我们再写一次吧,反正我的ID都是一样的,只要我的ID是一样的,那我就会做一个覆盖哈,对吧?来重新来一次啊。正好我是幂等写啊,那我密等写的话还好办啊。好,写完了啊,写完以后你重新重新来查啊,来查一下,呃,还是这个七条数据对吧,你再来看啊,这一次就对了啊,嗯哼。咋还是不对呀,我看看啊,这怎么还写着他呀。还写它是吧,还是写的它不太对啊,我看一下啊呃,Jason to Jason string,然后呢,把你的movie。
09:00
那这是一个自创的对象对吧,这个得改一下啊,这得改一下是吧,重新来一下啊,刚刚改的这场没改它啊。好,那这个时候我们再来看一下啊呃,查一下。这就对了吧,对吧,刚刚这个调错方法了啊,看一下这不是我写过来什么1002长津湖,呃,水面桥,然后什么狙击手,然后什么这个熊出没。对吧,我就把它写进来了啊行,这就是一个批量写啊,就大家这个注意以后我们在这个往ES中写数据的时候呢,尽可能去。采用这个批量写的方式好吧,啊,批量写肯定是要比你这个单条写入性能更好,而且呢,对于这个ES维护数据来讲的话呢,你批量写的话呢,可以什么让它在每个段中的,诶,就是零的情况下啊,每个段中的去维护更多的数据啊,这个是比较好的。理解吧,反正你都得有那么多个段,那我这一个段多维护点数据,一个段多维护点数据不是挺好的吗。
10:00
对吧,啊,这个是要知道啊,行,这是我们的。批量写啊,OK。
我来说两句