2015-10-18 27 views
0

我剛剛使用aws中的Elastic search service設置了elasticsearch域。 現在我想餵它與一些json文件使用: curl -XPOST 'my-aws-domain-here/_bulk/' --data-binary @base_enquete.json 根據文檔here在elasticsearch aws上加載json文件時出錯

我的JSON文件如下所示: [{"INDID": "10040","DATENQ": "29/7/2013","Name": "LANDIS MADAGASCAR SA"}, {"INDID": "10050","DATENQ": "14/8/2013","Name": "MADAFOOD SA","M101P": ""}] 這給了我這個錯誤:

{"error":"ActionRequestValidationException[Validation Failed: 1: no requests added;]","status":400}

我嘗試沒有[]同樣的錯誤!

請注意,我已經設置了訪問策略,以開放給開發階段的世界。

任何形式的幫助將是有益的:)

回答

2

這是因爲數據的格式不正確的。 請仔細閱讀文檔here

理想情況下,應該在格式 -

action_and_meta_data\n 
optional_source\n 
action_and_meta_data\n 
optional_source\n 
.... 
action_and_meta_data\n 
optional_source\n 

這意味着你要發送應在以下格式的文件的內容 -

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } 
{"INDID": "10040","DATENQ": "29/7/2013","Name": "LANDIS MADAGASCAR SA"} 
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "2" } } 
{"INDID": "10050","DATENQ": "14/8/2013","Name": "MADAFOOD SA","M101P": ""} 
+0

感謝比涅斯,我已經錯過了這個文件。其實它解決了這個問題,但它引發了另一個問題。我的json文件很大,所以我需要以編程方式添加這些meta_data。 –