开发者学堂课程【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:true,successful:1,_version 属性的值+1。
如果文档不存在,es 属性 found 为 false,但是版本值 version 依然会+1,这个就是内部管理的一部分,有点像 svn版本号,它保证了我们在多个节点间的不同操作的顺序被正确标记了
注意:
一个文档被删除之后,不会立即生效,他只是被标记为已删除。ES 将会在你之后添加更多索引的时候才会在后台进行删除。
二、演示
演示如下图所示:
删除一条索引标识为1的索引信息,如下图:
根据主键删除,输入
curl-XDELETE' http://JANSON01:9200/bigdata/product/1?pretty'
操作成功
可以来查询一下是否删除,输入
curl-X
GET ‘
http://
JANSON01
:9200/bigdata/product/
_search?pretty’
再来查看
如图显示看不到标识1