upsert的例子是:
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"script" : "ctx._source.counter += count",
"params" : {
"count" : 4
},
"upsert" : {
"counter" : 1
}
}'
Run Code Online (Sandbox Code Playgroud)
如果以前不存在该文档,则该方法有效.
假设我想更新不一定存在的字段,但文档存在.例如,该文档可能还没有计数器字段.
我该怎么做呢?
imo*_*tov 10
您可以使用更新脚本来检查字段是否存在:
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"script" : "if( ctx._source.containsKey(\"counter\") ){ ctx._source.counter += count; } else { ctx._source.counter = 1; }",
"params" : {
"count" : 4
},
"upsert" : {
"counter" : 1
}
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3824 次 |
| 最近记录: |