在 elasticsearch 中执行bulk
导入时,我们是否可以 忽略JSON转储中的某些JSON密钥
我目前正在使用Node JS。如下面的代码所述,data.json
包含我希望JSON keys
在导入时忽略的某些elasticsearch
。这些键可以是任何类型,例如Object,字符串,布尔值等。
var bulkIndex = function bulkIndex(index, type, data) {
let bulkBody = [];
data.forEach(item => {
bulkBody.push({
index: {
_index: index,
_type: type,
_id: item.id
}
});
bulkBody.push(item);
});
esClient.bulk({
body: bulkBody
})
.then(response => {
let errorCount = 0;
response.items.forEach(item => {
if (item.index && item.index.error) {
console.log(++errorCount, item.index.error);
}
});
console.log(`Successfully indexed ${data.length - errorCount} out of ${data.length} items`);
})
.catch(console.err);
};
const test = function test() {
const rawJSON = fs.readFileSync('data.json');
const processedJSON = JSON.parse(rawJSON);
console.log(`${processedJSON.length} items parsed from data file`);
bulkIndex('myIndex', 'myType', processedJSON);
};
test();
答案 0 :(得分:0)
您可以使用remove
处理器