Elasticsearch API вставки данных из пути - PullRequest
0 голосов
/ 11 октября 2018

Работает следующая команда cURL:

curl -XPOST http://localhost:9200/test/test -d '{"name":"John", "age":31}' -H 'Content-Type: application/json'

Однако, когда я выполняю следующую команду:

curl -XPOST http://localhost:9200/test/test -d '/mnt/c/path/to/filename/test.json' -H 'Content-Type: application/json'

Я получаю следующую ошибку:

{"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}

Это немного странно, поскольку содержимое этого test.json точно такое же, как и в первой команде.А именно: сжатая версия: '{"name": "John", "age": 31}'.

1 Ответ

0 голосов
/ 11 октября 2018

При отправке файла вам нужно использовать флаг --data-binary вместо -d:

curl -XPOST http://localhost:9200/test/test --data-binary @'/mnt/c/path/to/filename/test.json' -H 'Content-Type: application/json'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...