ES 更新&删除|学习笔记

简介: 快速学习 ES 更新&删除。

开发者学堂课程【ElasticSearch 最新快速入门教程ES 更新&删除】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10610


ES 更新&删除

 

内容介绍:

一、讲义

二、演示

 

一、讲义

ES 更新

ES 可以使用 PUT 或者 POST 对文档进行更新,如果指定 ID 的文档已经存在,则执行更新操作

注意:

执行更新操作的时候,ES 首先将旧的文档标记为删除状态,然后添加新的文档,旧的文档不会立即消失,但是你也无法访问,ES 会继续添加更多数据的时候在后台清理已经标记为除状态的文档。

局部更新

可以添加新字段或者更新已经存在字段(必须使用 POST)

curl-XPOST http://localhost:9200/bigdata/product/1/update-d

'{"doc":{"name" : "apache-hadoop"}}'

普通删除,根据主键删除

curl -XDELETE http://localhost:9200/bigdata/product/3/

说明:

如果文档存在,es 属性 found:truesuccessful:1_version 属性的值+1。

如果文档不存在,es 属性 found 为 false,但是版本值 version 依然会+1,这个就是内部管理的一部分,有点像 svn版本号,它保证了我们在多个节点间的不同操作的顺序被正确标记了

注意:

一个文档被删除之后,不会立即生效,他只是被标记为已删除。ES 将会在你之后添加更多索引的时候才会在后台进行删除。

 

二、演示

演示如下图所示:

删除一条索引标识为1的索引信息,如下图:

image.png

根据主键删除输入

curl-XDELETE' http://JANSON01:9200/bigdata/product/1?pretty'

操作成功

image.png

可以来查询一下是否删除,输入

curl-XGET ‘http://JANSON01:9200/bigdata/product/_search?pretty’

再来查看

image.png

如图显示看不到标识1

相关文章
|
7月前
|
存储 Unix 索引
ES常用查询命令
ES常用查询命令
ES6新增操作字符串的七种方法
ES6新增操作字符串的七种方法
ES5新增方法(一)
前言 今天和大家分享一下ES5中一些新增的方法。 一、数组方法 迭代(遍历)方法:forEach(),map(),filter(),some(),every() array.forEach(function(value,index,arr)) value:数组当前项的值 index:数组当前项的索引 arr:数组对象本身
|
SQL 关系型数据库 MySQL
使用tkmapper避免更新on update字段
使用tkmapper避免更新on update字段
172 0
|
人工智能
ES中更新字段和删除字段的操作
ES中更新字段和删除字段的操作
|
测试技术 索引
ES数据删除优化
分享一下ES数据删除优化的相关经历,根据业务需要一共优化了3次,包含了其中踩到的坑和一些花时间解决的问题.
1107 0
ES删除索引和测试关于文档的操作
ES删除索引和测试关于文档的操作
|
缓存 索引
ES的删除和更新,旧数据到低是如何处理的?
根据ES的读写入原理,大家都知道ES写入时每秒从内存缓冲区(memory buffer)生成小的segment,将其递交给系统缓存(OS filesystem cache)中,后台会定期的对这些小的segment 合并成一个大的segment段
399 0
ES的删除和更新,旧数据到低是如何处理的?
“UnwrapRef“ 是一种类型,在同时启用了 “preserveValueImports“ 和 “isolatedModules“ 时,必须使用仅类型导入进行导入。
“UnwrapRef“ 是一种类型,在同时启用了 “preserveValueImports“ 和 “isolatedModules“ 时,必须使用仅类型导入进行导入。
1028 0
“UnwrapRef“ 是一种类型,在同时启用了 “preserveValueImports“ 和 “isolatedModules“ 时,必须使用仅类型导入进行导入。