Elasticsearch "no requests added" Bulk API Error

Even though i had \n on the last line I literally HAD to have a full carriage return after my last json line.

The following worked:

{ "update" : { "_index" : "test_people", "_type" : "person", "_id" : "1" }} \n
{ "doc" : { "name":"hi", "age":100 }}

So there needs to be an empty line below the "doc" line.


True that one blank new line , after document row does the trick.

enter image description here


If you're using cURL, you must have a blank line at the end of your bulk items and you must use --data-binary (instead of plain -d). For example, suppose you have a file called bulk that has:

{ "index" : { "_id" : 1 } }
{ "accounts" : ["hillary", "sidney"]}
{ "index" : { "_id" : 2 } }
{ "accounts" : ["hillary", "donald"]}
{ "index" : { "_id" : 3 } }
{ "accounts" : ["vladimir", "donald"]}

Ensure the file is terminated by a blank line, then post with cURL:

curl -i -XPOST -H'content-type: application/json' 'localhost:9200/emails/message/_bulk?refresh&pretty' --data-binary @bulk