Я пытаюсь отправить JSON на эластичный поиск. Я попытался с помощью Почтальон и SoapUI Эти данныеОшибка ElasticSearch при отправке данных
[{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}, {"column1": "pqr", "column2": "stu", "column3": "vwx", "column4": "", "column5": ""}]
Я получаю следующее сообщение об ошибке назад
{
"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
}
Но когда я отправляю один массив JSON Т.е.
{"column1": "abc", "column2": "def", "column3": "dghi", "column4": "jkl", "column5": "mno"}
Тогда он отлично работает. Я новичок в ElasticSearch, поэтому не уверен, что происходит не так.
спасибо за ответ, но не уверен, что вы имеете в виду – noobEngineer
-1, в то время это приводит к правильному ответу, это не очень толковые и негативный тон действительно не полезно. Исходный вопрос имеет действительный JSON, это одноэлементный массив. Проблема, на которую отвечает этот вопрос, заключается в том, что ElasticSearch требует, чтобы внешний документ был объектом JSON, а не массивом JSON или скалярным значением. Пример рефакторинга тоже будет хорош и не займет слишком много времени в этом случае. –