每两行为一组,第一行指定索引id(也可为空),第二行为实际的数据体。

{“index”:{“_id”:“1”}}
{“account_number”:1,“balance”:39225,“firstname”:“Amber”,“lastname”:“Duke”,“age”:32,“gender”:“M”,“address”:“880 Holmes Lane”,“employer”:“Pyrami”,“email”:“amberduke@pyrami.com”,“city”:“Brogan”,“state”:“IL”}
…省略

以下提供两种方法批量导入数据到ES的bank索引:PostmanKibana。通过ES提供的_bulk API完成批量导入。

方法一:通过Postman完成数据批量导入

首先在Postman中新建 POST 请求:localhost:9200/bank/_bulk, 请求体Body下选择binary二进制, 然后Select File选择对应的json文件, 最后点击Send发送请求即可,见下图。

postman 创建 es索引 postman es查询_elasticsearch

方法二:通过Kibana完成数据批量导入

依次启动ElasticSearch、Kibana,Kibana默认启动在5601端口,打开(Dev Tools)开发工具。

postman 创建 es索引 postman es查询_postman_02

左侧为请求编辑区,右侧为对应的响应。在左侧输入:

POST bank/_bulk
{“index”:{“_id”:“1”}}
{“account_number”:1,“balance”:39225,“firstname”:“Amber”,“lastname”:“Duke”,“age”:32,“gender”:“M”,“address”:“880 Holmes Lane”,“employer”:“Pyrami”,“email”:“amberduke@pyrami.com”,“city”:“Brogan”,“state”:“IL”}
{“index”:{“_id”:“6”}}
{“account_number”:6,“balance”:5686,“firstname”:“Hattie”,“lastname”:“Bond”,“age”:36,“gender”:“M”,“address”:“671 Bristol Street”,“employer”:“Netagy”,“email”:“hattiebond@netagy.com”,“city”:“Dante”,“state”:“TN”}
…省略

点击运行,Kibana中的执行结果为:

postman 创建 es索引 postman es查询_批量导入_03

验证:查询索引中所有数据

Postman中发送Post请求:localhost:9200/bank/_search,请求体:

{
“query”:{
“match_all”: {}
}
}

得到bank索引中所有1000条数据,表明批量导入操作成功:

postman 创建 es索引 postman es查询_elasticsearch_04

批量删除

有时候会有批量删除的需求,尤其是在测试或演示时。