查询文档使用GET
#查询文档
GET index/_search
#按ID查询文档
GET index/_doc/id
更新文档使用POST
# 部分更新
POST index/_update/id
{
"doc":{
"KEY":"VALUE"
}
}
# 覆盖更新
POST index/_doc/id
{
"doc":{
"KEY":"VALUE"
}
}
添加文档使用PUT
或POST
# PUT, id必须指定,如果id已存在则功能变为覆盖更新
PUT index/_doc/id
{
...
}
# POST,可以不指定id,如果不指定会自动创建
POST index/_doc
{
...
}
删除文档使用DELETE
# 删除指定文档
DELETE /index/_doc/id
# 删除指定文档的指定字段
POST index/_update/id{"script":"ctx._source.remove('KEY')"}
# 注意,只是从这个文档中删除了字段,相当于一个单元格置为null,并不是修改了索引的定义
另附错误写法/过时写法:
# 并不能查询文档,查询文档请看该笔记第一条
GET index/_doc
# 并不能按id查询文档,按id查询请看该笔记第二条
GET index/_search/id
# (过时写法)部分更新文档,能用但会报警告
POST /index/_doc/id/_update{"doc":{"KEY":"VALUE"}}
# (过时写法)删除文档内指定字段,能用但会报警告
POST index/_doc/id/_update{"script":"ctx._source.remove('KEY')"}
记得有人和我说有个PUT的写法能部分更新,但我忘了是哪个……