NodeJs и ElasticSearch: ошибка массовой вставки: не удалось получить xcontent - PullRequest
0 голосов
/ 18 ноября 2018

Я не могу найти свою ошибку, я пытаюсь вставить массив элемента в Elastic Search, используя метод bulk с библиотекомasticsearch.

Заранее спасибо.

InserTweets: function (arrayobj, callback) {

        var items=[];

        var count=1;
        arrayobj.forEach(element => {
            items.push({ index:  { _index: 'twitter', _type: 'tweet', _id: count }},element);
            count++;
        });

        console.log(items);

        client.bulk({body: [items]}, function (err, resp, status) {
            callback(err, resp, status);
        });
    }

Ошибка:

{ error:
   { root_cause: [ [Object] ],
     type: 'parse_exception',
     reason: 'Failed to derive xcontent' },
  status: 400 }

1 Ответ

0 голосов
/ 18 ноября 2018

Значение свойства body должно быть массивом объектов, а не массивом объектов.

Это client.bulk({body: [items]}... должно быть client.bulk({body: items}...

Кроме того, вы также подталкиваете items к element, это то, что вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...