区别
post和put都能起到创建/更新的作用
PUT /website/blog/123
{ ... }
POST /website/blog/123
{ ... }
需要注意的是==PUT==需要对一个具体的资源进行操作也就是要确定id才能进行==更新/创==建,而==POST==是可以针对整个资源集合进行操作的,如果不写id就由ES生成一个唯一id进行==创建==新文档,如果填了id那就针对这个id的文档进行==创建/更新==
关于创建
如果仅仅想要创建而不是更新为了防止操作错误我们需要告知es这是一个创建的请求,一般是这样写的
PUT /website/blog/123?op_type=create
{ ... }
或者
PUT /website/blog/123/_create
{ ... }
如果创建成功返回201,若果具有相同的 _index 、 _type 和 _id 的文档已经存在返回409