批量查询(index和type都不同)

  • 可以通过id获取不同的index和type的数据
  • 格式:

    1. GET _mget
    2. {
    3. "docs": [ // 文档参数数组,列表中每个的index和type可以不同
    4. {
    5. "_index": "es_db",
    6. "_type": "_doc",
    7. "_id": 1
    8. }
    9. ]
    10. }
  • 示例:

    GET _mget
    {
    "docs": [
      {
        "_index": "es_db",
        "_type": "_doc",
        "_id": 1
      },
      {
        "_index": "es_db",
        "_type": "_doc",
        "_id": 2
      }
    ]
    }
    

    批量查询(index统一,type不同)

  • 可以通过id获取type的数据,在url中指定index

  • 格式:

    GET /index名称/_mget
    {
    "docs": [                                                                    // 文档参数数组,列表中每个的index和type可以不同
      {
        "_type": "_doc",                                            
        "_id": 1
      }
    ]
    }
    
  • 示例:

    GET /es_db/_mget
    {
    "docs": [
      {
        "_type": "_doc",
        "_id": 1
      },
      {
        "_type": "_doc",
        "_id": 2
      }
    ]
    }
    

    批量查询(index、type统一)

  • 在url中指定index和type

  • 格式:

    GET /index名称/type名称/_mget
    {
    "docs": [                                                                    // 文档参数数组,列表中每个的index和type可以不同
      {
        "_id": 1
      }
    ]
    }
    
  • 示例:

    GET /es_db/_doc/_mget
    {
    "docs": [
      {
        "_id": 1
      },
      {
        "_id": 2
      }
    ]
    }
    

    批量增删改(_bulk)

  • actionName:表示操作类型,主要有create,index,delete和update

    POST _bulk
    {
      "actionName":{
        "_index":"indexName", 
      "_type":"typeName",
      "_id":"id"
    }
    }
    {
      "field1":"value1", 
    "field2":"value2"
    }
    

    (1)批量创建文档create

    ```http POST _bulk {“create”:{“_index”:”article”, “_type”:”_doc”, “_id”:3}} {“id”:3,”title”:”白起老师1”,”content”:”白起老师666”,”tags”:[“java”, “面向对象”],”create_time”:1554015482530} {“create”:{“_index”:”article”, “_type”:”_doc”, “_id”:4}} {“id”:4,”title”:”白起老师2”,”content”:”白起老师NB”,”tags”:[“java”, “面向对象”],”create_time”:1554015482530}

<a name="ghViQ"></a>
#### (2)普通创建或全量替换index
```http
POST _bulk
{"index":{"_index":"article", "_type":"_doc", "_id":3}}
{"id":3,"title":"图灵徐庶老师(一)","content":"图灵学院徐庶老师666","tags":["java", "面向对象"],"create_time":1554015482530}
{"index":{"_index":"article", "_type":"_doc", "_id":4}}
{"id":4,"title":"图灵诸葛老师(二)","content":"图灵学院诸葛老师NB","tags":["java", "面向对象"],"create_time":1554015482530}
  • 如果原文档不存在,则是创建
  • 如果原文档存在,则是替换(全量修改原文档)

    (3)批量删除delete

    POST _bulk
    {"delete":{"_index":"article", "_type":"_doc", "_id":3}}
    {"delete":{"_index":"article", "_type":"_doc", "_id":4}}
    

    (4)批量修改update

    POST _bulk
    {"update":{"_index":"article", "_type":"_doc", "_id":3}}
    {"doc":{"title":"ES大法必修内功"}}
    {"update":{"_index":"article", "_type":"_doc", "_id":4}}
    {"doc":{"create_time":1554018421008}}