PUT 和 POST_更新Ⅰ之全局更新 | 学习笔记

简介: 快速学习 PUT 和 POST_更新Ⅰ之全局更新

开发者学堂课程【ElasticSearch 入门精讲PUT 和 POST-更新Ⅰ之全局更新学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/9954


PUT 和 POST-更新Ⅰ之全局更新

内容介绍:

一、讲义

二、演示

三、说明

一、讲义

PUT 是幂等方法,POST 不是。所以 PUT 用于更新,POST 用于新增比较合适。

所谓幂等是指不管进行多少次操作,结果都一样。

需要注意的一点就是,创建操作可以使用 POST,也可以使用 PUT,区别就在于POST 是作用在一个集合资源(/articles)之上的,而 PUT 操作是作用在一个具体资源之上的(/articles/123),比如说很多资源使用数据库自增主键作为标识信息,这个时候就需要使用 PUT 了。

而创建的资源的标识信息到底是什么,只能由服务端提供时,这个时候就必须使用 POST。


二、演示

全局更新:(一般不使用,效果是:将旧的索引信息替换为新的索引信息)

使用 post 和 put 都行

1、使用 post,将索引标识为1索引信息更新为:"name":"HADOOP","author":"郭富城”

curl-H'Content-Type:application/json'-XPOST'http://JANSON01:9200/bigdata/product/1?pretty’-d" {"name":"HADOOP","author":"郭富城”}’

演示:

打开索引库

先输入 su -l jerry 启动

再输入 jps 查看一下

再输入

curl-XGET'Http://JANSON01:9200/bigdata/product/_search?pretty’

如图罗列出信息

image.png

将 ID 为1的 author 更新为郭富城:

先指定一个类型-H 'application/json'放在curl后面为:

curl-H'application/json'-XPOST'http://JANSON01:9200/bigdata/product/1?pretty’ -d" ‘{"name":"hadoop","author":"郭富城”}’

这时发现报错,需要增加一个 content type 的参数类型

curl-H'Content-Type:application/json'-XPOST'http://JANSON01:9200/bigdata/product/1?pretty’ -d" ‘{"name":"hadoop","author":"郭富城”}’

确定更新后查看结果。

2、使用put,将索引标识为1索引信息更新为:"name":"hadoop","author":"道哥.卡廷"}’

只用将上面的信息其中的-XPOST改为-XPUT,  "author":"郭富城”改为"author":"道哥.卡廷"

即:

curl-H'Content-Type:application/json'-XPUT'http://JANSON01:9200/bigdata/product/1?pretty’ -d" {"author":"道哥.卡廷”}’

三、说明

1.但是这些操作都是全局更新,可以理解为先将旧的 document 删除,然后重新创建一个新的、id 相同的 document。

2.PUT 是幂等方法,POST 不是,所以 PUT 用于更新,POST 用于新增比较合适。(幂等操作:无论进行多少次操作,最终的结果是一致的。如 StringBuffer)

3、ES 创建索引库和索引时的注意点:

1)索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号

2)如果没有明确指定索引数据的 ID,那么 es 会自动生成一个随机的 ID,需要使用 POST 参数

curl -H‘Content-Type:application/json’-XPOST

http://JANSON01:9200/bigdata/product/-d '{“name”: “HADOOP”,"author": "Doug Cutting", “version”:3.3.3}’

相关文章
|
4月前
|
前端开发 Java 项目管理
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
|
5月前
|
SQL 数据库
`UPDATE FROM` 的语法以及常见的更新操作方式
`UPDATE FROM` 的语法以及常见的更新操作方式
915 2
|
6月前
|
关系型数据库 MySQL 测试技术
当update修改数据与原数据相同时会再次执行吗
当update修改数据与原数据相同时会再次执行吗
50 1
|
6月前
|
SQL 存储 Java
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
70 0
|
JSON 数据格式 开发者
PUT 和 POST-更新Ⅱ之局部更新|学习笔记
快速学习 PUT 和 POST-更新Ⅱ之局部更新。
131 0
|
JSON 分布式计算 Hadoop
PUT 和 POST-更新Ⅰ之全局更新|学习笔记
快速学习 PUT 和 POST-更新Ⅰ之全局更新。
269 0
PUT 和 POST-更新Ⅰ之全局更新|学习笔记
|
SQL 关系型数据库 MySQL
十一、操作delete或者update语句,加个limit或者循环分批次删除
十一、操作delete或者update语句,加个limit或者循环分批次删除
313 0
|
JSON 数据格式 开发者
PUT 和 POST_更新Ⅱ之局部更新 | 学习笔记
快速学习 PUT 和 POST_更新Ⅱ之局部更新
|
前端开发
Ember Data 之记录操作:创建、更新和删除
前面在《Ember.js 项目开发之 Ember Data》介绍了Ember Data 和 《Ember Data 之模型定义》、《Ember Data 之记录查询》,本文将继续介绍记录操作:创建、更新和删除。
142 0
下一篇
无影云桌面