[英]How to update particular field in Elasticsearch index?
在Elasticsearch中,我有以下数据:
"hits": [
{
"_index": "traffic",
"_type": "entry",
"_id": "922",
"_score": 1,
"_source": {
"Intensity": 0,
"tId": "9"
}
},
{
"_index": "traffic",
"_type": "entry",
"_id": "2812",
"_score": 1,
"_source": {
"Intensity": 0,
"tId": "28"
}
}
如何将tId
等于28
Intensity
ea设置为5? 我应该写哪个更新查询?
tId = 28的_id为2812 。 所以:
POST traffic/entry/2812/_update
{
"doc" : {
"Intensity" : 5
}
}
资料来源: Elasticsearch参考文档
client.updateByQuery({
index : 'traffic',
type : 'entry',
body : {
query : {
match : {
tId : 28
}
},
script :
{'inline':
'ctx._source.Intensity = params["Intensity"];',
lang : 'painless',
params : {Intensity: 5 }
}
}
}, (err, res) => {
if (err) {
reject(err);
} else {
resolve(res);
}
});
要启用脚本,您应该在elasticsearch.yaml文件中包含script.inline: true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.