POST zeppelin/examples/AV6nU7M9HTZ4wJwaOOJj/_update
{
"name": "新闻主题分布",
"url": "notebook/2CTNKD25S"
}
PUT test/type1/1{
"counter" : 1,
"tags" : ["red"]
}
增量某一字段
POST yuantest/type1/1/_update
{
"script" : {
"inline": "ctx._source.counter += count",
"lang": "painless",
"params" : {
"count" : 4
}
}
}
增加列表属性字段
POST yuantest/type1/1/_update
{
"script" : {
"inline": "ctx._source.tags.add(params.tag)",
"lang": "painless",
"params" : {
"tag" : "blue"
}
}
}
增加新字段
POST yuantest/type1/1/_update
{
"script" : "ctx._source.new_field = "value_of_new_field""
}
POST yuantest/type1/1/_update
{
"doc" : {
"name" : "new_name"
}
}
删除字段
POST yuantest/type1/1/_update
{
"script" : "ctx._source.remove("new_field")"
}
如果tag字段中有red字段,则删除该记录(不会循环做,只会删除第一条符合条件的数据)
POST yuantest/type1/1/_update
{
"script" : {
"inline": "if (ctx._source.tags.contains(params.tag)) { ctx.op = "delete" } else { ctx.op = "none" }",
"lang": "painless",
"params" : {
"tag" : "red"
}
}
}
有记录执行script,没记录走upsert
POST yuantest/type1/1/_update
{
"script" : {
"inline": "ctx._source.counter += params.count",
"lang": "painless",
"params" : {
"count" : 4
}
},
"upsert" : {
"counter" : 1
}
}
若没有id为1的记录,则将doc的内容作为记录
POST yuantest/type1/1/_update
{
"doc" : {
"name" : "new_name"
},
"doc_as_upsert" : true
}