00:00
呃,那么再往下走呢,它有一个根据文档的一个我们这个ID对吧,来更新文档,呃,根据文档的ID来更新文档,呃,那么什么意思呢?什么意思啊,说我们现在呢,在这里,假如说啊,我现在呢,想去把某一个文档的的某一个字段来做一个更新,对吧,比如说在咱们这里边对吧,我看一看,呃谁呢,对吧,找一个改啊对吧,然后接下来我现在呢,找一找,找咱们这个IDV3呢,对,比如把这个IDV3呢,对吧,IDV1的是吧,IDV1的也可以对吧,比如说IDV1的咱们这个文档对吧?那么它的一个什么呢?它的一个名字,对,比如说我现在在咱们这里边把它的一个名字啊,我给你做一个更新啊,我想更新这个内容啊,我想更新这个内容,对,这就不是简简单单的创建。
01:01
删除对吧?还有整个整体替换了,我想更新它里面的具体某个内容对吧?那这个东西怎么办?首先呢,大家想一想,你要想更新咱们这个IDV1的,那首先第一件事,你是不是可以先把它查出来,那么怎么把它查出来呢?那应该是get查询,然后move index,然后咱们接下来这个里面是不是应该有一个type当摆设呀,对吧,Type,然后接下来咱们这个ID为一的,然后做一个我这查询,那这样的话,咱们现在可以把当前呢这个记录给查出来,那么查完之后,那你要干什么呢?那我要做更新,注意啊,更新的语法这样的,对吧,在咱们这个里边对吧,你要想做更新的话,那你需要加一个update,对吧,而且呢,你要更新什么,那么这里呢,有一个do,这个do的写法是固定的。就是我现在啊,你要更新的内容,那必须呢,放到我这dock这个属性里边来,对吧?那么这个do的写法呢,它是固定的,那它是固定的,那咱们现在来试一试呗,比如说我现在呢,要对我当前这个文档干什么呢?做我们这个update的操作啊,做我们这个update的对吧,这些操作对吧?哎,那么如果说你现在呢,要对他做updated操作的话,注意啊,那么如果updated的操作的话,再用get好像是不是就不太合适了,对吧?你刚才在咱们这里边,你这个盖呢可以做查询对吧?你盖呢,你在这里也可以做查询,但如果你现在呢要更新对吧?那么这个时候呢,你有get也不太合适了,那么这个时候咱们用什么呢?Post,对吧,想做一个更新对吧,所以说呢,这块因为我们这post请求,然后接下来,那么你现在要干什么,在这里一个update对吧,那么update这里是不是有一个do,它是固定的写法呀,对吧,就相当于我现在呢,哎,要发送一个do的这个数据过去,那么你要更新谁呢?
02:47
对吧,那比如说我现在啊,要更新我们这个内容,对吧,那直接把咱们的字段名和字段值给它放进来,就在这里啊,你放的是我们的字段名字段值,那字段名这里是不是有个内面新的字段值,那就新的字段值吧。
03:02
对吧,那我现在呢,来做一个更新啊,那么更新完毕之后呢,你来查一下同学们,咱们现在的名字是变成新的字段值量,对吧?那接下来咱们再去加深点难度,同学们干什么呢?我现在啊想去更新对吧?这个刀客们的里边谁呢?A演员的列表中演员的ID为二的这个人的名字,我想去做这个更新。这个东西不重要,这会我现在讲的就前面的命令呢,你还应该把它掌握敲一遍,这会命令你可以不敲,早就我现在讲这个东西大家注意用场景很少,因为以来它本身是不是一个搜索引擎啊,是不是咱们差询操作比较多呀,对吧,就是你基本上到你这说来我现在我要做一个删除操作,把以来到面的给干掉,我要做一个删除操作,把索引干掉,等我要做一个什么操作,把一联S给他更新一下,基本上大数据成员这个不会做,你想一想,咱们现在学这么长时间,我是不是一般都是对数据做一些统计分析呀,删除不是咱们的事,修改也不是咱们的事,人家数据给咱们了,咱们不会说,诶我现在想统计一下,先把数据改一改,然后再统计,不会这样对吧,而且如果要做这个这个为什么说这块其实简单了解呢?因为如果要做这块的话,他呢,其实对吧,这个感觉比较繁琐,不是说多难对吧,你们看这个代码就行了,同学们对吧,根据条件,比如说我要更新对吧,那么咱现在呢,来把这个东西CTRLC啊。
04:31
啊,CTRLC对吧,那么你拿过来之后呢,大家看这个内容呢,应该知道我现在呢要做更新操作,更新谁更新咱们这索引,然后这这于什么操作执行update,只不过这个时候呢,是根据条件来进行更新,原来是不是update,现在是不是update by query呀,对吧?那么既然根据条件更新,那首先呢,你是要把条件给我,所以呢,这个是query,注意啊,这个query呢,我后边会给大家讲,对吧?咱们现在呢,你可以先把这些看一看,如果根据条件更新的话,先把这些东西给我查出来,对吧?那么这个查询出来之后呢,那怎么办呢?我是不是要把演员列表中演员的ID等于一的给我更新一下来,对吧?那么接下来,那么咱们更新之后呢,我查询出来之后,大家想一想,那我现在要想对它做更新,那么你是不是得把咱们这个东西给我拿到啊,那么你要拿到的话,那你想一想,你是不是从咱们的艾属性里边拿呀,这个艾属性它是什么类型的,同学们是不是一个兼值数组啊,对吧?所以说呢,那么咱们就在更新的时候,那么我们现在这里边它使用的是一个。
05:31
个脚本语言,这个脚本语言是我elect search,它本身内嵌的一个脚本语言,叫什么呢?叫paraise,就不小心在这里面又有个语言在里面了,对吧?脚本语言对吧?但是大家别害怕,同学们这个东西啊,你们看得懂,CTRLC拿过来对吧?然后接下来再到这里边对吧,CTRLV往这一放对吧?来你们现在这个东西啊,你们应该能看得懂啊,把这把这这个拿过来对吧,T,来CTRLC对,往这一放啊,你们能看得懂。
06:00
能看懂吗?说不能看不懂是吧?没关系,把你们调一调就行了嘛,对吧?If然后接下来对吧,在这啊吧,然后接下来在这啊,然后再往下来一个啊,然后把这个呢,再往这边调一调,看起来稍微有有一点感觉了没对吧?发现什么发现这里就是个for循环是不是对吧?你看对谁做for循环的,是不是对咱们这个act list.length来做for循环呀,那么做完for循环之后呢?那你看啊,好多地方都有CTS点下划线S这个是什么?你看一看下划线S是吧,是不是,它怎么拿到呢?它有一个内嵌对象叫CTS,也可以通过内嵌叫CTS来拿到咱们这个的它里面的所有属性值,那么其中呢,那你拿到这个S之后呢,S里边有一个属性叫a list,咱们说这个东西是不是一个数组啊,对吧?那么你可以通过点length来拿到数组的长度,然后进来对数组元素进行遍历,对吧?那么如果说当前数组的咱们这个ID。
07:00
等于多少的话,咱们这里等于一对吧,那如果等于一的话,咱们这个时候呢,咱们把当前等于一的数度元素,它的名字给做一个更新,对吧,这回能看懂了吧,对吧,为什么让大家说这个东西不用去掌握的,你要练的,你要你要把没时间的话,它不用练的对吧?因为啊,这个脚本语言它本身呢,对吧,和扎家比较像,另外一个在写的时候,这个小语言写的比较恶心,对吧,为什么大家一开始第一眼的时候看不懂的,他要求,那么咱们的代码必须写在一行,就如果说你要在写的时候,你像我这这格式化一下,这东西你报错了对吧,你就必须得这么写对吧,你必须得这么写对吧,那你想一想,这东西让家看的话,对吧,别别说,别说写了,是不看起来挺简单代码,但是感觉就是比较恶心啊,对吧,所以这块呢,大家知道一下就可以啊,基本上这个操作你们肯定用不上。啊,肯定用不上啊,这是第一个啊,这是第一个可以根据我们现在呢,它的一个条件来对我们现在文档的数据呢,来做更新啊来做更新,然后接下来那么除了它之外呢,还可以干什么呢?还可以去删除文档的属性对吧?那大家一看,如果删除文档的属性的话,那这个东西就涉及到的这个事儿就更大了,对吧?你本身大数据成员,你说统计分析的结果呢,人家把数据给你,你把人家属性给干掉了对吧?其实你没必要对吧,你不统计就可以了嘛,对吧,你没必要对应的结构做修改,就相当于你改的表结构对吧?但这个事也可以做,怎么做呢?也是对吧,然后写咱们脚本对吧?然后呢,去咱们这里边把它给干掉啊,把这个东西呢给干掉对吧,当然发送也poose请求,然后接下来那么再往下呢,这个不演示了啊同学们,对这个不演示了,然后还有一个什么呢,说根据条件来删除我们这个文档,对刚才呢是更新的我们这某个属性,然后现在呢,根据条件删除文档,那么删除的话是delete的,把这个。
08:48
拿过来对吧,看一看吧,对,来在这里CTRLC,然后呢,我现在呢往这一放对吧,这个呢是根据条件来删除对吧?那么你现在要对我这个索引来进行操作对吧?那么做什么操作呢?根据条件来做删除对吧?那你是不是得把这条件给我拿过来啊对吧,那就是相当于在咱们这里边query match all,那你猜一猜是干什么的呀,对吧,这是不是应该所有对吧,那么咱们现在呢,在咱们这里啊,发delay的不行对吧?那可以post一下看一看对吧?那么咱们现在这里对吧,是不是我们这一个上上完了呀,上完之后呢,那来get一下,然接下来我们的个movie index想查询全部怎么查下划线search对吧?那么这个时候是不是把咱们的文档都干掉了对吧?所以说这个呢,请求注意请求方式对吧,这个应该是一个postose请求对吧,直接po请求对吧?诶然后接下来在这里,我现在要干什么啊,要对我这文档呢来做一个删除,所以说这会大家想一想,在EXS里边,如果说你把POS当做我们的一个。
09:48
增加操作的话是不太合适,你想一想,这会是不是其实做更新操作呀,对吧?哎,所以说呢,这会是和咱们这账不太一样的地方啊,然后最后一块呢,批处理的,批处理呢,这个东西的咱们会用到,但是一般的咱们不会在我这里用,我会用我们这个在我们这个哪呢,在我们的代码里边来给他做一些我的批处理操作,对吧?什么叫批处理呀,那也就说我现在是不是可以对再执行一次的时候,我做多个操作呀,比如说我现在先把谁给删掉,然后再添加一下,对吧?然后呢,我现在先把谁给删掉,再更新一下,对吧?那有可能我现在同一个指令里边我做多个操作,对吧?那我现在呢,如果想使用批处理的话,那么一说到我的批处理,大家应该以前接触过我批操作的命令吧,啊是不是有什么BY是不是这个东西啊,对吧?哎,那么我现在呢,大部分情况下啊,咱们一般的说批处理,批处理可能都是咱这个单词,但是呢。
10:48
那么我们现在在我们的ex里边,那么它批处理呢,它叫咱们这个book对吧?来咱看一看在咱们这里边对吧,这个东西单词本身bulk对吧,BK对吧,那大家看一看它本身是不是也有咱们这个大部分大块这个意思呀,对吧,其实也有什么呀,也有P的意思嘛,大块对吧,那这个东西P嘛,对不对,大块大块处理,所以说呢,那咱们现在这里以后啊,你看到在ES里边对吧,有咱们这个Bo对吧,那这个东西呢,它应该什么,它应该是批量操作对吧?那么具体怎么来执行呢?它的API是这样的,后色请求,然后对哪一个索引对吧,它的哪个类型,然后做咱们的批操作,因为你想你要P,你不应该具体到某一个文档上,对吧,那么我现在呢,在这块东西你可以不加,这个东西你可以不加,对吧,因为咱们在六之后啊,其实我们这个返回的它本身加的意思什么意思呢?就是说原来的返回这个东西不是格式化的对吧,但是我们现在其实使用K班对吧?那。
11:48
其实呢,他对咱们的格式化已经做得很好了,对吧,所以说你不加呢,也没问题啊,你不加也没问题对吧?然后接下来,那么咱们现在呢,在使用批处理的时候呀,还要求什么呢?你批量操作的真实内容,那么应该写的同一行和咱刚才一样对吧,就一说把这东西写的同一行,其实这样就比较恶心了,对吧?哎,没有格式嘛,没有格式好,那具体咱们现在需求什么样的,比如说啊,我现在在咱们索引中来批量创建两文的,那么具体这个东西怎么来做,我直接呢把这些东西拿过来,咱们一起来看一下,注意啊同学们,我现在呢,把这些东西拿过来,然后呢,它所完成的功能是我们这个。
12:29
批量啊添加两个文档document啊,批量添加两个文档document对吧?然后接下来呢,那么咱们现在呢,来看啊来看那我在咱们这里同学们对吧?那我在写的时候,像这些东西,它其实是写的一行的对吧?这些东西你有要求,你必须呢写的同一行对吧?虽然说你看这会咱们到时候啊吧,他呢会这个分啊咱们现在这这这一调整,他呢会看好像分多行,但其实呢,它是要求写的一行的都要写一行的对吧?然后接下来那么如果想完成咱批处理的话,那么这个东西大概是怎么做的呢?来他看一看具体对吧,它的一个操作,首先呢后请求,然后对这个索引的这个类型来做一个批处理报这个操作,对吧?然后接下来那么你先要添加两个文档,那么这两文档大家想一想,你在做添加的时候,你是在指定它的ID啊,怎么指定的表示的是我现在啊,往里index里边添加文档这个文档的。
13:29
D一个是66,那么另外一个文档的ID是88,那么具体文档内容什么呢?在这里是我文档的内容对吧?上面指定文档的ID,然后下边这两块来指定我们这个文档它的一个具体内容,对吧?那么具体内容呢,那应该是Jason,这个Jason对吧?它必须得放在咱们一行啊,必须得放在一行对吧?那么这块呢,也可以通过它来执行一下,对吧?来看咱们现在在这里它也可以啊,完成咱们现在的一个添加操作,对吧?这是批量处理对吧?这是批量处理啊,然后接下来呢,那么除了我现在添加操作之外呢,再来一个对吧?那么我可以在一个批量操作中呢,比如说先更新啊某一个文档,然后再删除文档,对,那这时候怎么做呢?其实一样的啊,只不过这块呢,对吧,这个稍微变了一下来,咱们过来对吧。
14:18
首先上面都是一样的,我还是对于我们当前的这个索引入的文档来进行批处理,那第一个咱们原来大家看,那么这里呢,是不是添加呀,添加是index,然后指定ID,然后现在呢,我要做更新,更新update,对,然后接下来删除delete,那么你在更新的时候,你更新的是谁?咱们这块,对,如果说要更新的话,大家想一想,刚才咱们再根据我们的ID更新的时候,是不是有固定的写法,这固定写法是不是咱们do呀,就你你在这儿啊,在咱们上边我给你ID更新的时候,那么这个东西是固定写法,你不能瞎写,对吧?你要更新谁,你得从这种语法给我指定,那么咱们的批量更新的时候呢,那也是这样,你要对这个IDV66的这个文档来进行更新,对吧?那么具体怎么更新,那么这块的dock呢?那你要给我写一写对吧?哎,你这个固定写法,然后另外一个删除,删除你是得告诉我你的ID是什么呀,你要根据ID的来进行删除,对吧?那咱们现在这两个东西呢,没有带大家去写对吧。
15:19
我说要求它涨到什么程度呢?就一看到咱们报单词对吧,那你应该想到我现在批量操作对吧,那么另外一个咱们现在呢,这里刚才咱们index是干什么,是不是新增啊,然后这里update,这里是不是delete呀,对吧,就是你现在呢,以后我在写代码的时候,你们要要给我想到对吧,想到什么呢?想到的是诶我现在想做批量操作,你们在找API的时候,你们给我找这个东西相关的啊,找这个东西相关的,如果说想做新增的时候时候,对吧,那么咱们一般说新增,你们肯定是不是想找什么ad什么inser的,说这样代码呀,如果找不到的话,你我找这index。
16:00
啊,如果找不到的话,你会找这index,它表示它表示新增对吧,它表示新增对吧,那么这块呢,哎,这是我一个的目的,对吧,就讲这些东西,不让你把这些东西这个语法给记住对吧?这会其实对吧,这个没什么太大意义,咱们一般呢,通他操作的时候呢,不是特别多,对吧?咱们这些通过我们的代码操作可能会有对吧,可能会有对吧?好,那这样的话,关于我们现在呢,这个文档啊,它的一个操作呢,就给大家介绍这些对吧,那么到目前为止啊,同学们,咱们稍微的停一下吧,对吧,我们讲了一些全局的操作,对吧,讲了大概两节多课了,对吧?呃,讲了一些我们对索引的操作,讲了一些对文章的操作,你们都记住啥了,都不用记续说了,我觉得这句话挺好的,就记住不用记了,是不是是吧,那么咱们现在呢,大家首先想一想,对全局操作的话,虽然说我都不用进,但是有些时候是吧,你的实力不允许啊。对不对,我说我们不用记对吧,但是不小心讲完之后你们就记住了,想忘也忘不了是不是,比如说咱们现在呢,想去这个查询健康状态对吧,那这个是不是就health呀,然后呢,我想查看咱们节点是不是no呀,想查看咱们当前我们的所有的索引信息,Indexes,对吧?是不是indexes想查询某一个索引,它的一个分片情况,应该是cat,然后shas,然后接下来加上索引的名字吧,对吧?哎,这块呢,咱常用一些操作,然后接下来怎么样去创建索引啊。
17:30
啊,现在你们应该给我两种方式创建索引,就现在啊创建索引应该有两种方式,一个是咱们单独创建索引,另外一个我创建文档的时候,如果索引不存在,是不是直接把这个索引创建出来了,对吧?所以说一般咱用哪种呢?一般用第二种,我不会单独创建个索引,对吧?那么咱们在后边会给大家建一个索引模板,对吧,这样操作对吧,你直接往这里面放数据就行,对吧?你创建文档的时候呢,如果索引不存在,它自动帮你把这索引创建出来啊,自把索引创建出来对吧?然后接下来那么对索引的操作都创建了一个,是不是还可以删除啊,对吧?然后接下来对文档的操作呢?那无非什么呀,那无非是对吧,怎么样往索引里边添加文档,对吧,那么这个是put对吧,但是put呢,咱们要求是不是你在这里流传ID过去呀,密等性的啊,但如果要poose的话的话,对吧,那么咱们现在是不是可以不传ID,可以不传啊,它传也能保证密等性,但可以不传对吧?那这个东西呢,那有的时候你无法保证。
18:30
平等性对吧,然后接下来咱们想根据我们的ID去删除文档。那这个东西怎么去做?Delete,根据ID删除。Delete inex,然后type,然后再加上咱们这个文档ID嘛,对吧,文档ID注意啊,这个呢,到时候大家一定要把这个东西给我捋一遍对吧?呃,咱们呢,如果再做的话,这个作业我就不能像前两天讲那个东西对吧,那么查你们了对吧?所以说呢,你们在写的时候把你们写的命令给我保存好,同学们知道吧,你们在写的时候把这命令给我保存好吧,咋保存是吧?Ctrl a ctrl c ctrl v这样就行对吧?诶这个怎么保存都行对吧,其实其实你们一般不不习惯不关机嘛,如果不关机的话,在浏览器里边它就会缓存的对吧?诶,但是确保一点的话,你别到时候如果这个不小心一关,一关电脑缓存没了是吧啊吧,然后你们可以单独给保存起来,我到时候看一看,对吧,注意啊,把你们的命令写好对吧,咱们现在只是其中一部分啊,只其中一部分啊,那么我现在呢,把这个完事之后呢,我稍微停一下。
我来说两句