ElasticSearch学习

文章40 |   阅读 18917 |   点赞0

来源:https://blog.csdn.net/ywl470812087/category_9621251.html

Bulk批量操作API的介绍

x33g5p2x  于2021-12-19 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(480)


 


 

#多重模式
#批量操作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,获取下验证是否成功

相关文章