我试图在node.js中使用elasticsearch v 1.4.4创建一个函数来响应错误
错误:重复_id
当我们尝试在带有重复_Id的索引中插入文档时,就像在mongoDB中一样 . 弹性搜索没有提供这样的错误,尽管它将_id存在于该_id中 .
我已经创建了一个函数,它首先对弹性进行查询,以查找具有该id的记录抛出错误 . 但它不能在实时工作 . 实时我的意思是,如果我尝试插入带有新id的文档,那么他们将插入并增加doc的版本 . 我已经尝试 _refresh 但是不起作用 .
我的功能是......
function checkDuplicate(index,type,id,body){
client.exists({index: index, type: type, id: id}, function (err, res) {
if (res === false) {
client.index({index: index, type: type,id:id, body: json}, function (err, response) {
resp.send(JSON.stringify(response));
})
}
else
resp.send("Error : Duplicate index doc >>>>>>>>");
});
};
1 回答
您可以在请求中使用值为
create
的op_type
参数(操作类型),如果您尝试创建已存在的文档,则会返回错误 . 来自docs: