有没有办法使用elasticsearch update_by_query 删除数组的元素?
弹性搜索版本:7.8.1
[
...
{
"target" : [
{ "docId" : "operator" },
{ "docId" : "test" },
{ "docId" : "abcde" },
]
}
...
]
你好? 我想从上面elasticsearch中名为target的数组中删除docId为operator的元素。
我尝试了以下但失败了。 我的代码的哪一部分是错误的?
{
"query": {
"terms": {
"target": [
{
"docId": "operator"
}
]
}
},
"script": {
"source": " for (int i = 0; i < ctx._source.target.length(); i++) { if (ctx._source.target[i].docId == params.docId) { ctx._source.target.remove(i);}}",
"params": {
"docId": "operator"
}
}
}
elasticsearch version : 7.8.1
[
...
{
"target" : [
{ "docId" : "operator" },
{ "docId" : "test" },
{ "docId" : "abcde" },
]
}
...
]
Hello?
I want to delete the element whose docId is operator from the above array called target in elasticsearch.
I tried the below but failed.
What part of my code is wrong?
{
"query": {
"terms": {
"target": [
{
"docId": "operator"
}
]
}
},
"script": {
"source": " for (int i = 0; i < ctx._source.target.length(); i++) { if (ctx._source.target[i].docId == params.docId) { ctx._source.target.remove(i);}}",
"params": {
"docId": "operator"
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查询错误,length() 也不是函数。
The query was wrong and length() was not a function either.