00:00
前面我们说了如何给ES中保存一个文档和查询一个文档,包括我们保存的时候呢,也可以进行更新,那接下来我们再来说一下如何更新一个文档,除了我们之前说的这个保存的时候我们进行更新外,我们还可以这样更新文档,我们可以来发送一个POS请求,明确来指定杠update们,这是呢,想要更新一个文档,更新哪个文档呢?我们得写上文档的这个唯一编号,包括呢,我们要更新哪个索引,哪个类型下的哪个文档,那后边的这个请求体的语法格式就是。双引号dock,我们这有一个属性,它的值呢,就是我们最新文档的这个值,我们发送post这个请求,我带上杠after,或者不带杠after,不带这个dock,那都行,都是更新,或者我们说的这个put也都是更新,但这个更新都有什么区别呢?我们来给大家看一下,那还是以一号数据为例来查询,像一号呢,Name是一,那现在想来进行一个更新操作,好,我呢想来post修改这个一号的这个数据,先把这个我们虚拟机的地址拿过来。
01:12
我们更新呢,我们用post来更,我们先来测post,我们post呢,我们把这个数据带上,那现在是来更新customer extern,我们来更新一号数据。一号数据要更新的内容,我们来给它携带上,如果我们带了杠update,我们进行更新,那么我们的语法一定要盖带上这个dock,好,CTRLC我们来这样更新,那这样更新呢,我们先来给它更一个叫draw,我们来随便写一个名字,我来点一个send,我发现这次更新呢是成功的。版本号是六。但是我如果我把相同的更新我再来运行一次,我再来点send,那么这块更新也是成功的,但是这个版本号还是六,我们发现这个result这一块是no op,就是no operation,我们没有做任何操作,也就是我们这个post更新杠update呢,它会对比我们的原数据,如果我们这一次更新的数据跟原来的数据一模一样,那我们原来的数据版本号就不会往上加,包括这个操作呢,也是no operation,我们没有做任何操作。
02:24
包括这个序列号,我们来多次发送请求,我们来看一下这个序列号呢,也是不变的,所以这是我们这个POS更新,它会来对比原来的数据,这我们post带了杠update的,来post带杠update,它会对比原来数据,原来数据与原来一样,与原来一样就。什么都不做,我们的version版本号也不增加,包括它的这个sequence number序列号也不增加,都不变。这是我们说的这个带update,那么不带update呢?我们说之前的post不带update也能进行更新,那不带update的语法格式,那么就不要加这个dock,好来看一下不带after date,那么现在来继续来send,现在呢,这是一个200版号呢,是七。
03:21
更新成功,哎,结果呢是updated它更新成功了,而序列号也变了,我们不断的发送请求,它都是不断的更新成功,所以说我们post不带up这个dock版,那它就呢就不会检查原数据。这就是我们这个区别,包括我们的put put呢也是来更新的,所以说我们这一块的这个post完全可以给它替换成put一模一样的,我来点send,它这也是更新,不断的更新,不断的叠加版本,那就是一句话,只有我们post带了杠update的这个请求,它呢才会来检查我们这个版本,我们把这个保存一下,而我们新的这些,我们比如是put方式的,我把刚才这个呢。
04:10
Post带update,把这个复制过来,如果我们是put方式的不带update的,还是post方式不带update的,它永远呢,不会是一个更新操作,不会来对比它原来的数据,把这个数据呢复制过来好。C来进行send。这块呢,一直都是一个修改来保存这个操作put。和post,这个post呢,指的是不带update的这种方式都会直接更新数据。而且呢,我们这个更新还有一种更新,就是我们更新的时候呢,同时想增添一些属性,原来呢有name,现在呢,我们想给它增加edge字段,那我们就可以再来用post带杠update了,那put的行不行呢?我把这个复制一下,那先来看put,我们要增加一个属性,这有一个name,我们再来多增加一个H,我们来写一个20,我点一个send,在这一块呢,也是更新成功,包括我们来查询这个一号数据,我来点一个send,数据内容呢也是有的,那除了put的这种操作外,如果我们想要用post。
05:29
带了杠update的增加属性,那一定注意带了这个杠update,我们一定要写成这个语法叫do,好,然后把这个呢就放在里边,我们除了给他外,我们再来加一个H操作。我们来写一个20,我们点一个send,这一块呢,都是可以来做的,当然它还会对比数据,如果一样就是no operation。而我们put呢,它不会对比,每次更新呢,就直接更新,这是我们说的post和put来增加属性的这种更新post型put和post不带update。
06:11
也是可以的,也可以。
我来说两句