Elasticsearch批量获取文档

版权声明:嘟嘟嘟,转发记得提一下 https://blog.csdn.net/ticktak/article/details/82378239

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"]
    }

猜你喜欢

转载自blog.csdn.net/ticktak/article/details/82378239