使用json文件可以給es中導入數據,10萬條左右的數據可以一次導入,數量太大時導入就會報錯。大數量的到導入還是需要用bulk方式。
accounts.json文件格式如下:
{"index":{"_id":"1"}}
{"title":"learn es","content":"work hard"}
{"index":{"_id":"2"}}
{"title":"learn hadoop","content":"work hard"}
...
如果是在window下使用curl命令給es導入數據,需要注意accounts.json的最后增加一個空行,否則最后一條數據將錄不進去。
linux下的導入命令為:
curl -XPOST '27.10.1.2:9200/bank/account/_bulk?pretty' --data-binary "@/home/dd/accounts.json"
windows下的curl需要先下載windows版的curl,再輸入命令:
curl -XPOST 27.10.1.2:9200/bank/account/_bulk?pretty --data-binary "@D:\data\accounts.json"
其中bank為索引名稱,account為type的名稱。
大數量的導入還需要bulk方式,參考代碼如下: