elasticsearch.js批量插入错误

时间:2015-12-08 14:30:46

标签: javascript elasticsearch elasticsearch.js

我正在尝试使用javascript elasticsearch客户端插入/更新数据,但我收到错误:

aws

这是正在发送的数据

  {
    "error": {
      "root_cause": [
        {
          "type": "illegal_argument_exception",
          "reason": "Malformed action/metadata line [1], expected a simple value for field [_data] but found [START_OBJECT]"
        }
      ],
      "type": "illegal_argument_exception",
      "reason": "Malformed action/metadata line [1], expected a simple value for field [_data] but found [START_OBJECT]"
    },
    "status": 400
  }

此代码显示为ES生成以下请求:

esclient.bulk({
    body: [
        {
            "index":
            {
                "_index":"myindex",
                "_type":"movie",
                "_id":"1IEAEHNOIORANIT4SEOASNIE3HAETN2E...",
                "_data": 
                {
                    "title":"Title 2",
                    "description":"This should be updated with this new data.",
                    "score":1,
                    "suggest_title":"Title 2",
                    "img":"http://url.to.image/img.jpeg",
                    "genres":["Comedy"],
                    "release":"2015-01-07T23:00:00.000Z",
                    "language":"EN",
                    "provider":
                    {
                        "id":"InstaFilmFlixify",
                        "url":"http://www.InstaFilmFlixify.com/play?id=238412"
                    }
                }
            }
        }
    ]
})

我做错了什么?怎么了?这可能是ES / ES适配器中的错误。

Elasticsearch 2.1版

1 个答案:

答案 0 :(得分:1)

之前我还没有看到"_data"参数。你在哪里得到了使用它的想法?

查看js client的文档。

无论如何,这应该适合你:

esclient.bulk({
    body: [
        {
            "index":
            {
                "_index":"myindex",
                "_type":"movie",
                "_id":"1IEAEHNOIORANIT4SEOASNIE3HAETN2E...",
            }
        },
        {
            "title":"Title 2",
            "description":"This should be updated with this new data.",
            "score":1,
            "suggest_title":"Title 2",
            "img":"http://url.to.image/img.jpeg",
            "genres":["Comedy"],
            "release":"2015-01-07T23:00:00.000Z",
            "language":"EN",
            "provider":
            {
                "id":"InstaFilmFlixify",
                "url":"http://www.InstaFilmFlixify.com/play?id=238412"
            }
        }
    ]
})