elasticsearch,benchmarking,Bash,Curl,elasticsearch,Benchmarking" /> elasticsearch,benchmarking,Bash,Curl,elasticsearch,Benchmarking" />

Bash 使用curl的弹性搜索批插入无效

Bash 使用curl的弹性搜索批插入无效,bash,curl,elasticsearch,benchmarking,Bash,Curl,elasticsearch,Benchmarking,我正在弹性搜索集群上执行一个小型基准测试。我的基准脚本是用bash编写的,并使用curl 我正在将数据写入一个文件,并将其发布到REST API: curl -XPOST 'localhost:9200/benchmark/external/_bulk?pretty' \ --data @$DATAFILE 我的$DATAFILE非常简单,并且有所有换行符: {"index":{"_id": "1"}} {"data":"xxxxxxxxxx"} {"index":{"_id": "

我正在弹性搜索集群上执行一个小型基准测试。我的基准脚本是用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
}
我知道我的输入未经验证,但为什么?

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

--data
参数应替换为:

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