我正在弹性搜索集群上执行小型基准测试。我的基准测试脚本是用bash编写的,并且使用curl。
我正在将数据写入要发布到REST API的文件中:
curl -XPOST 'localhost:9200/benchmark/external/_bulk?pretty' \
--data @$DATAFILE
我的$DATAFILE
方法很简单,并且所有换行符都已到位:
{"index":{"_id": "1"}}
{"data":"xxxxxxxxxx"}
{"index":{"_id": "2"}}
{"data":"xxxxxxxxxx"}
{"index":{"_id": "3"}}
{"data":"xxxxxxxxxx"}
...
但是,当我尝试发表文章时,我仍然收到以下错误:
{
"error" : "ActionRequestValidationException[Validation Failed: 1: no requests added;]",
"status" : 400
}
我了解我的输入没有经过验证,但是为什么呢?
curl在发送数据之前删除了换行符!
该--data
参数应替换为--data-binary
:
curl -XPOST 'localhost:9200/benchmark/external/_bulk?pretty' \
--data-binary @$DATAFILE
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句