1. 程式人生 > >Elasticsearch批量獲取文件

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