Bulk批量操作API的介绍

 

 

 

#多重模式
#批量操作bulk
POST /library/books/_bulk
{"index": {"_id": 1}}
{"title":"Elasticsearch: The Definitive Guide","price":5}
{"index": {"_id": 2}}
{"title":"The Elasticsearch cookbook","price":15 }
{"index": {"_id": 3}}
{"title":"Elosticsearch Blueprints","price":9 }
{"index": {"_id": 4}}
{"title":"Thinking in Python","price":22 }
{"index": {"_id": 5}}
{"title":"Thinking in Java","price":7 }

 

 

 

#通过id批量获取

GET /library/books/_mget
{
  "ids":["1","2","3","4","5"]
}

返回结果

{
  "docs" : [
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "1",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Elasticsearch: The Definitive Guide",
        "price" : 5
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "2",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "The Elasticsearch cookbook",
        "price" : 15
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "3",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Elosticsearch Blueprints",
        "price" : 9
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "4",
      "_version" : 1,
      "_seq_no" : 1,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Thinking in Python",
        "price" : 22
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "5",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Thinking in Java",
        "price" : 7
      }
    }
  ]
}
#当然注意还可以有delete,update等操作
#注意delete下面没有具体的request body
POST /library/books/_bulk
{"delete": {"_index": "library", "_type": "books","_id": "1"}}
{"create": {"_index": "music", "_type": "classical","_id":"2"}}
{"title": "Ave Verus Corpus" }
{"index": {"_index": "music", "_type": "classical"}}
{"title": "Litaniac de Venerabili Altaris Sacromento"}
{"update": {"_index": "library", "_type": "books", "_id": "2"}}
{"doc" : {"price" :"18"} }

执行批量操作后返回结果

{
  "took" : 43,
  "errors" : false,
  "items" : [
    {
      "delete" : {
        "_index" : "library",
        "_type" : "books",
        "_id" : "1",
        "_version" : 5,
        "result" : "not_found",
        "_shards" : {
          "total" : 2,
          "successful" : 1,
          "failed" : 0
        },
        "_seq_no" : 4,
        "_primary_term" : 1,
        "status" : 404
      }
    },
    {
      "create" : {
        "_index" : "music",
        "_type" : "classical",
        "_id" : "2",
        "_version" : 1,
        "result" : "created",
        "_shards" : {
          "total" : 2,
          "successful" : 1,
          "failed" : 0
        },
        "_seq_no" : 1,
        "_primary_term" : 1,
        "status" : 201
      }
    },
    {
      "index" : {
        "_index" : "music",
        "_type" : "classical",
        "_id" : "cVIUunABRyQ6qH3OTcbo",
        "_version" : 1,
        "result" : "created",
        "_shards" : {
          "total" : 2,
          "successful" : 1,
          "failed" : 0
        },
        "_seq_no" : 1,
        "_primary_term" : 1,
        "status" : 201
      }
    },
    {
      "update" : {
        "_index" : "library",
        "_type" : "books",
        "_id" : "2",
        "_version" : 3,
        "result" : "noop",
        "_shards" : {
          "total" : 2,
          "successful" : 1,
          "failed" : 0
        },
        "status" : 200
      }
    }
  ]
}

 

结果分析执行都成功了,先看下下删除是不是成功

GET /library/books/1

批量返回结果分析:

{
  "docs" : [
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "1",
      "found" : false
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "2",
      "_version" : 3,
      "_seq_no" : 4,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "The Elasticsearch cookbook",
        "price" : "18"
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "3",
      "_version" : 2,
      "_seq_no" : 1,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Elasticsearch Blueprints",
        "price" : 9
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "4",
      "_version" : 2,
      "_seq_no" : 3,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Thinking in Python",
        "price" : 22
      }
    },
    {
      "_index" : "library",
      "_type" : "books",
      "_id" : "5",
      "_version" : 2,
      "_seq_no" : 1,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "title" : "Thinking in Java",
        "price" : 7
      }
    }
  ]
}

 

我们还创建了一个music,获取下验证是否成功

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值