elasticsearch 使用ElasticSearch非法批量导入,elasticsearch,curl,elasticsearch,Curl" /> elasticsearch 使用ElasticSearch非法批量导入,elasticsearch,curl,elasticsearch,Curl" />

elasticsearch 使用ElasticSearch非法批量导入

elasticsearch 使用ElasticSearch非法批量导入,elasticsearch,curl,elasticsearch,Curl,我正在尝试使用cURL将JSON文件批量导入到ES索引中。 我跑 它回来了 { "error" : { "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "Malformed action/metadata line [1], expected

我正在尝试使用cURL将JSON文件批量导入到ES索引中。 我跑

它回来了

{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"
  },
  "status" : 400
}
我的json的结构是

{ "services": [
{ "id":1}, 
{"id":2},
...]
}
不确定抛出此错误的原因。

仔细阅读文档,了解数据文件的内容。值得注意的是,在数据文件中,每一行都应该是一个JSON对象。该文件不应该是典型的
.json
文件结构,这是您目前所拥有的

您的文件可能如下所示:

{"index": {"_id":"1"}}
{"field1":"foo1", "field2":"bar1",...}
{"index": {"_id": "2"}}
{"field1":"foo2", "field2":"bar2",...}
{"index": {"_id":"1"}}
{"field1":"foo1", "field2":"bar1",...}
{"index": {"_id": "2"}}
{"field1":"foo2", "field2":"bar2",...}