使用curl的弹性搜索批量插入不起作用

安德烈·拉斯洛(AndréLaszlo)

我正在弹性搜索集群上执行小型基准测试。我的基准测试脚本是用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
}

我了解我的输入没有经过验证,但是为什么呢?

安德烈·拉斯洛(AndréLaszlo)

curl在发送数据之前删除了换行符!

--data参数应替换为--data-binary

curl -XPOST 'localhost:9200/benchmark/external/_bulk?pretty' \
     --data-binary @$DATAFILE

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章