假设我有文件
{
someId: 'A'
}
{
someId: 'B'
tag: ['C', 'D']
}
{
someId: 'C'
}
如果数组存在,我想向该数组追加一个字符串,否则创建一个数组并为其分配数组。我发现以下查询可以做到这一点。但是我不知道该用脚本写什么。
{
"script": {
"inline": "// TODO if null create array with one element else append to value to array",
},
"query": {
"constant_score" : {
"filter" : {
"terms" : {
"someId" : ["A", "B"]
}
}
}
}
}
下面是需要在脚本中使用的伪代码(JavaScript),但我不知道如何在ES无痛脚本中将其翻译。
if(doc.tag === undefined) {
doc.tag = ['value'];
} else {
doc.tag.append('value');
}