如何停止重复数据

时间:2015-07-30 12:23:34

标签: elasticsearch

我正在弹性搜索中更新我的文档并添加新用户,所以举个例子假设我在我的字段名称“update_field”中添加了两个新用户。所以现在如果我现在在我的字段名称“update_field”中添加这两个值,那么如果我再次尝试插入它,它将不会再次插入数据,或者我的意思是它不会复制数据。我怎么能这样做,有人可以知道如何编写一个方法来停止弹性搜索的重复数据,我正在研究PHP

1 个答案:

答案 0 :(得分:3)

是的,只需将脚本更改为:

"script": "ctx._source.update_field = (ctx._source.update_field + new_value).unique();"

我们基本上在groovy中连接两个列表然后使用unique()我们可以删除所有重复项。另一种方法是将列表强制转换为Set,这将产生相同的效果。