gpt4 book ai didi

elasticsearch - 插入时防止在Elasticsearch对象数组中重复

转载 作者:行者123 更新时间:2023-12-03 01:57:40 26 4
gpt4 key购买 nike

假设我的索引中包含以下文档:

{
id: 1
cities: [
{id:1,name:"ny"},
{id:2,name:"sf"}
]
}

如何编写更新脚本,以便在再次插入{id:1,name:“ny”}时不会创建重复条目?

目前,我有以下常规脚本,但它总是给我错误:
if (!ctx._source.cities) { 
ctx._source.cities = [city]
} else {
ctx._source.cities= (ctx._source.cities+ [city]).unique{ a, b -> a.id == b.id }
}

我认为问题在于我错误地访问了对象属性。请指教。谢谢!

最佳答案

错误groovy code

如下所述使用unique:

ctx._source.cities= (ctx._source.cities+ [city]).unique{it.id}

希望这可以帮助

关于elasticsearch - 插入时防止在Elasticsearch对象数组中重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35469137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com