文档的 CRUD 与批量操作

elasticsearch—入门(进阶) 

create document. 自动生成 _id

POST users/_doc
{
  "user": "Mike",
  "post_date": "2019-04-15T14:12:12",
  "message": "trying out Kibana"
}

create document. 指定Id。如果id已经存在,报错  

PUT users/_doc/1?op_type=create
{
  "user": "Jack",
  "post_date": "2019-05-15T14:12:12",
  "message": "trying out Elasticsearch"
}

指定 ID 如果已经存在,就报错  

PUT users/_create/1
{
  "user": "Jack",
  "post_date": "2019-05-15T14:12:12",
  "message": "trying out Elasticsearch"
}

elasticsearch—入门(进阶)

 Get the document by ID

GET users/_doc/1

elasticsearch—入门(进阶)

 Update 指定 ID  (先删除,在写入)

PUT users/_doc/1
{
  "user": "Mike"
}

GET users/_doc/1

elasticsearch—入门(进阶)

 在原文档上增加字段

POST users/_update/1/
{
    "doc":{
        "post_date" : "2019-05-15T14:12:12",
        "message" : "trying out Elasticsearch"
    }
}

GET users/_doc/1

elasticsearch—入门(进阶)

 删除文档

DELETE users/_doc/1

Bulk 操作

如果一个具有相同索引的文档已经存在,则create将失败,而index将根据需要添加或替换一个文档

执行第1次

POST _bulk
{"index":{"_index":"test","_id":"1"}}
{"field1":"value1"}
{"delete":{"_index":"test","_id":"2"}}
{"create":{"_index":"test2","_id":"3"}}
{"field1":"value3"}
{"update":{"_id":"1","_index":"test"}}
{"doc":{"field2":"value2"}}

运行结果如下  

{
   "took": 30,
   "errors": false,
   "items": [
      {
         "index": {
            "_index": "test",
            "_type": "_doc",
            "_id": "1",
            "_version": 1,
            "result": "created",
            "_shards": {
               "total": 2,
               "successful": 1,
               "failed": 0
            },
            "status": 201,
            "_seq_no" : 0,
            "_primary_term": 1
         }
      },
      {
         "delete": {
            "_index": "test",
            "_type": "_doc",
            "_id": "2",
            "_version": 1,
            "result": "not_found",
            "_shards": {
               "total": 2,
               "successful": 1,
               "failed": 0
            },
            "status": 404,
            "_seq_no" : 1,
            "_primary_term" : 2
         }
      },
      {
         "create": {
            "_index": "test",
            "_type": "_doc",
            "_id": "3",
            "_version": 1,
            "result": "created",
            "_shards": {
               "total": 2,
               "successful": 1,
               "failed": 0
            },
            "status": 201,
            "_seq_no" : 2,
            "_primary_term" : 3
         }
      },
      {
         "update": {
            "_index": "test",
            "_type": "_doc",
            "_id": "1",
            "_version": 2,
            "result": "updated",
            "_shards": {
                "total": 2,
                "successful": 1,
                "failed": 0
            },
            "status": 200,
            "_seq_no" : 3,
            "_primary_term" : 4
         }
      }
   ]
}
View Code

相关文章: