我找不到我的错误,我正在尝试使用带有Elasticsearch库的bulk方法将元素数组插入Elastic Search。
谢谢。
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 }
答案 0 :(得分:1)
属性body
的值必须是对象数组,而不是对象数组。
此client.bulk({body: [items]}...
应该是client.bulk({body: items}...
此外,您也将items
推入element
本身,这是您想要的吗?