我正在弹性搜索中更新我的文档并添加新用户,所以举个例子假设我在我的字段名称“update_field”中添加了两个新用户。所以现在如果我现在在我的字段名称“update_field”中添加这两个值,那么如果我再次尝试插入它,它将不会再次插入数据,或者我的意思是它不会复制数据。我怎么能这样做,有人可以知道如何编写一个方法来停止弹性搜索的重复数据,我正在研究PHP
答案 0 :(得分:3)
是的,只需将脚本更改为:
"script": "ctx._source.update_field = (ctx._source.update_field + new_value).unique();"
我们基本上在groovy中连接两个列表然后使用unique()
我们可以删除所有重复项。另一种方法是将列表强制转换为Set
,这将产生相同的效果。