5
我使用Elasticsearch Bulk Index来更新文档的某些统计信息,但可能发生我试图更新的文档不存在 - 在这种情况下,我希望它不做任何事情。Elasticsearch批量索引 - 仅在存在时更新
我不希望它在这种情况下创建文档。
我还没有找到任何文档,或者可能错过了。
我现在的行为(在这种情况下,它创建文档):
{
update: {
_index: "index1",
_type: "interaction",
_id: item.id
}
},
{
script: {
file: "update-stats",
lang: "groovy",
params: {
newCommentsCount: newRetweetCount,
}
},
upsert: normalizedItem
}
如何更新文件,但必须存在,否则什么?
谢谢
没有upsert子句的更新将失败并创建一个异常。如果一个应用程序在设计上需要这种仅更新存在功能,那么很多异常都会以这种方式抛出。给出一些SO问答,指出例外的缓慢程度,这种解决方案不会导致性能问题吗? – Aaron