ElasticSearch入門(二)批量導入數據(Postman與Kibana)

背景

前面安裝運行了ElasticSearch,在實際操作之前,先準備好數據,實際中一般是通過Logstash等插件實現其他數據庫到ElasticSearch的同步,這裏的演示採用直接導入的方式。

ElasticSearch官方有個數據集,文件內容的格式以行分隔:

每兩行爲一組,第一行指定索引id(也可爲空),第二行爲實際的數據體。

{"index":{"_id":"1"}}
{"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"[email protected]","city":"Brogan","state":"IL"}
...省略

以下提供兩種方法批量導入數據到ES的bank索引:PostmanKibana。通過ES提供的_bulk API完成批量導入。

方法一:通過Postman完成數據批量導入

首先在Postman中新建 POST 請求:localhost:9200/bank/_bulk, 請求體Body下選擇binary二進制, 然後Select File選擇對應的json文件, 最後點擊Send發送請求即可,見下圖。

2020-02-23-ES-Bulk-Postman.jpg

方法二:通過Kibana完成數據批量導入

依次啓動ElasticSearch、Kibana,Kibana默認啓動在5601端口,打開(Dev Tools)開發工具。

2020-02-23-ES-Kibana-DevTool.jpg

左側爲請求編輯區,右側爲對應的響應。在左側輸入:

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":"[email protected]","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":"[email protected]","city":"Dante","state":"TN"}
...省略

點擊運行,Kibana中的執行結果爲:

2020-02-23-ES-Bulk-Kibana.jpg

驗證:查詢索引中所有數據

Postman中發送Post請求:localhost:9200/bank/_search,請求體:

{
	"query":{
		"match_all": {}
	}
}

得到bank索引中所有1000條數據,表明批量導入操作成功:

2020-02-23-ES-Bulk-Result.jpg

批量刪除

有時候會有批量刪除的需求,尤其是在測試或演示時。

  • 清空索引

僅刪除數據,保留索引以及映射。
Postman中發送Post請求:localhost:9200/bank/_delete_by_query,請求體:

{
	"query":{
		"match_all": {}
	}
}
  • 刪除索引

Postman中發送Delete請求:localhost:9200/bank,無參數。

Notes: 刪除索引爲高危操作,謹慎使用!!😎


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章