Elasticsearch的文档增删查改(CURD)
新增文档
## 新增文档(即便类型和索引不存在,也能增加)
PUT yang_night/_doc/1
{
"name":"顾老二",
"age":30,
"from": "gu",
"desc": "皮肤黑、武器长、性格直",
"tags": ["黑", "长", "直"]
}
修改文档
## 更新(两种都可以)
POST yang_night/_doc/1/_update
{
"doc": {
"desc": "皮肤很黄,武器很长,性格很直",
"tags": ["很黄","很长", "很直"]
}
}
# 推荐使用
POST yang_night/_update/1/
{
"doc": {
"desc": "确实很黄,武器很长,性格很直",
"tags": ["很黄黄","很长", "很直"]
}
}
删除文档
# 删除id为4的
DELETE yang_night/_doc/4
简单查询
GET yang_night/_doc/1
批量操作之 _mget
# 批量获取yang_night索引_doc类型下id为2的数据和qingqiu索引_doc类型下id为1的数据
GET _mget
{
"docs":[
{
"_index":"qingqiu",
"_type":"_doc",
"_id":2
},
{
"_index":"yang_night",
"_type":"_doc",
"_id":1
}
]
}
# 批量获取qingqiu索引下id为1和2的数据
GET qingqiu/_mget
{
"docs":[
{
"_id":2
},
{
"_id":1
}
]
}
#同上
GET qingqiu/_mget
{
"ids":[1,2]
}
批量操作之 bulk
# bulk相当于数据库里的bash操作
# bulk不支持GET
PUT test/_doc/1/_create
{
"field1" : "value22"
}
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }