Elasticsearch批量获取文档

elasticsearch批量获取文档

  1. 使用es提供的Multi Get API实现
  2. 获取指定的一系列id的文档列表

    
    #获取指定的一系列id的文档列表
    
    GET /_mget
    {
        "docs":[
        {
            "_index":"lib",
            "_type":"user",
            "_id":1
        },{
            "_index":"lib",
            "_type":"user",
            "_id":2
        },{
            "_index":"lib",
            "_type":"user",
            "_id":3
        }
        ]
    }
    
    
    #结果
    
    {
      "docs": [
        {
          "_index": "lib",
          "_type": "user",
          "_id": "1",
          "_version": 1,
          "found": true,
          "_source": {
            "first_name": "Jane",
            "last_name": "bill",
            "age": 18,
            "about": "I like to collect rock albums",
            "interests": [
              "music"
            ]
          }
        },
        {
          "_index": "lib",
          "_type": "user",
          "_id": "2",
          "_version": 1,
          "found": true,
          "_source": {
            "first_name": "Jane",
            "last_name": "tom",
            "age": 22,
            "about": "I like to collect rock albums",
            "interests": [
              "music"
            ]
          }
        },
        {
          "_index": "lib",
          "_type": "user",
          "_id": "3",
          "_version": 1,
          "found": true,
          "_source": {
            "first_name": "Jane",
            "last_name": "rose",
            "age": 18,
            "about": "I like to collect rock albums",
            "interests": [
              "music"
            ]
          }
        }
      ]
    }
  3. 指定字段获取

    
    #指定字段获取
    
    GET /_mget
    {
        "docs":[
        {
            "_index":"lib",
            "_type":"user",
            "_id":1,
            "_source":"interests"
        },
        {
            "_index":"lib",
            "_type":"user",
            "_id":2,
            "_source":["age","interests"] 
        }
        ]
    }
    
    
    #结果
    
    {
      "docs": [
        {
          "_index": "lib",
          "_type": "user",
          "_id": "1",
          "_version": 1,
          "found": true,
          "_source": {
            "interests": [
              "music"
            ]
          }
        },
        {
          "_index": "lib",
          "_type": "user",
          "_id": "2",
          "_version": 1,
          "found": true,
          "_source": {
            "interests": [
              "music"
            ],
            "age": 22
          }
        }
      ]
    }
  4. 获取同索引类型下的不同文档

    GET /lib/user/_mget
    {
        "docs":[
        {
            "_id":1
        },{
            "_type":"user",
            "_id":2
        }
        ]
    }
    
    
    #结果
    
    {
      "docs": [
        {
          "_index": "lib",
          "_type": "user",
          "_id": "1",
          "_version": 1,
          "found": true,
          "_source": {
            "first_name": "Jane",
            "last_name": "bill",
            "age": 18,
            "about": "I like to collect rock albums",
            "interests": [
              "music"
            ]
          }
        },
        {
          "_index": "lib",
          "_type": "user",
          "_id": "2",
          "_version": 1,
          "found": true,
          "_source": {
            "first_name": "Jane",
            "last_name": "tom",
            "age": 22,
            "about": "I like to collect rock albums",
            "interests": [
              "music"
            ]
          }
        }
      ]
    }
    
    
    #简化
    
    GET /lib/user/_mget
    {
        "ids":["1","2"]
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值