Elasticsearch文档操作

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"} }
posted @ 2022-03-14 20:59  yang_night  阅读(29)  评论(0)    收藏  举报