假设我的索引中有以下文档:
{
id: 1
cities: [
{id:1,name:"ny"},
{id:2,name:"sf"}
]
}
如何编写更新脚本,以便在插入{id:1,name:" ny"再次,它不会创建重复的条目?
目前我有以下groovy脚本,但它一直给我错误:
if (!ctx._source.cities) {
ctx._source.cities = [city]
} else {
ctx._source.cities= (ctx._source.cities+ [city]).unique{ a, b -> a.id == b.id }
}
我认为问题是我正在错误地访问对象属性。请指教。谢谢!
答案 0 :(得分:1)
发生错误groovy code
。
如下所述使用unique
:
ctx._source.cities= (ctx._source.cities+ [city]).unique{it.id}
希望这有帮助