I am trying to send a JSON to elasticSearch. I have tried using Postman and SOAPUI The data is
[{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}, {"column1": "pqr", "column2": "stu", "column3": "vwx", "column4": "", "column5": ""}]
I am getting the following error back
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "failed to parse"
}
],
"type": "mapper_parsing_exception",
"reason": "failed to parse",
"caused_by": {
"type": "not_x_content_exception",
"reason": "Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"
}
},
"status": 400
}
But when I post a single JSON array I.e.
{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}
Then it works fine. I am new to ElasticSearch so not sure what is going wrong.
Try using curly brackets first, then naming the array. Try that and see if it works.
For example:
{root:[1, 2, 3, 4, 5]}
might work because it's contained inside an object.
Even better; while I was experimenting with JSON.stringify();
, I found that it coverts arrays to JSON like so:
{1, 2, 3, 4, 5}
I recently ran into this using curl and it was a simple typo. I was not using inline json, but from a file. I forgot to include the @ sign before the filename.
curl -XPUT -H'Content-Type:application/json' localhost:9200/twitter [email protected]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With