У меня есть следующие Файл JSON
Я использовал awk, чтобы избавиться от пустых пробелов, конечной, следующей строки
awk -v ORS= -v OFS= '{$1=$1}1' data.json
Я добавил запрос на создание в верхней части файла data.json, за которым следует \ n и остальные мои данные.
{"create": {"_index":"socteam", "_type":"products"}}
Когда я отправляю запрос массовой отправки, я получаю следующую ошибку
CURL -XPUT http://localhost:9200/_bulk
{
"took": 1,
"errors": true,
"items": [
{
"create": {
"_index": "socteam",
"_type": "products",
"_id": "AVQuGPff-1Y7OIPIJaLX",
"status": 400,
"error": {
"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"
}
}
}
}
]
Есть идеи, что означает эта ошибка? Я не создавал никаких карт, я использую vanilla elasticsearch
Вот пример полезной нагрузки
cat data.json | awk -v ORS= -v OFS= '{$1=$1}1' | awk -v idx=test -v type=data 'BEGIN{print "{\"create\": {\"_index\":\"" idx "\", \"_type\":\"" type"\"}}"}; {print}; END {printf "\n"}' >> $file
exit 0
fi
fi
Затем я использовал httpie, чтобы отправить файл в es