要不要也来分享分享一下啊

如何请求es使得文档存在就更新,否则不处理

Elasticsearch | 作者 Veelur | 发布于2018年11月13日 | 阅读数:6451

有什么办法处理文档id对应的存在时就更新文档,否则就不处理,使用update_by_query好像没地方传入id
已邀请:

JackGe

赞同来自: weizijun

update_by_query这种更新方式用在使用特定查询语句更新一批数据,例如
POST indexName/_update_by_query
{
"script": {
"inline": "ctx._source['field']='value'"
},
"query": {
"bool": {
"must": [
{
"range": {
"timeStamp": {
"gte": "2018-11-09 00:00:00.001 +0800"
}
}
}
]
}
}
}
你的需求是根据id对应的存在时就更新文档,否则就不处理。同意@weizijun 说的方式,直接使用update接口

weizijun - elasticsearch fan

赞同来自:

直接用update接口就是更新,数据不存在会报错。
使用upsert方式是存在就更新,不存在就插入。

chenhongjie - 95后IT男

赞同来自:

upsert是存在就更新,不存在就插入

要回复问题请先登录注册