当前位置: 首页 > 工具软件 > MultiGet > 使用案例 >

Elasticsearch用Multiget批量获取文档

吕华彩
2023-12-01

批量获取文档

GET /_mget
{
  "docs":[
    {
    "_index":"lib",
    "_type":"user",
    "_id":"1"
    },
    {
    "_index":"lib",
    "_type":"user",
    "_id":"3"
    },
    {
    "_index":"lib",
    "_type":"user",
    "_id":"4"
    }
  ]
}

得到如下结果

{
  "docs": [
    {
      "_index": "lib",
      "_type": "user",
      "_id": "1",
      "_version": 3,
      "found": true,
      "_source": {
        "name": "liushujie",
        "age": 12,
        "adress": "kaifeng"
      }
    },
    {
      "_index": "lib",
      "_type": "user",
      "_id": "3",
      "found": false
    },
    {
      "_index": "lib",
      "_type": "user",
      "_id": "4",
      "_version": 1,
      "found": true,
      "_source": {
        "name": "刘书杰",
        "age": 11,
        "adress": "kaifeng"
      }
    }
  ]
}

可以指定具体文档

GET /_mget
{
  "docs":[
    {
    "_index":"lib",
    "_type":"user",
    "_id":"1",
    "_source":"age"
    },
    {
    "_index":"lib",
    "_type":"user",
    "_id":"4",
    "_source":["adress","name"]
    }
  ]
}

相同索引和类型可以简化写法

GET /lib/user/_mget
{
  "docs":[
    {
    "_id":"1"
    },
    {
    "_id":"4"
    }
  ]
}

GET /lib/user/_mget
{
  "ids":["1","4"]
}

 类似资料: