批量查询(index和type都不同)
- 可以通过id获取不同的index和type的数据
格式:
GET _mget
{
"docs": [ // 文档参数数组,列表中每个的index和type可以不同
{
"_index": "es_db",
"_type": "_doc",
"_id": 1
}
]
}
示例:
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}}