我正在 elasticsearch 中更新我的文档并添加新用户,所以作为一个例子,假设我正在向我的字段名称“update_field”添加两个新用户。所以现在如果我现在在我的字段名称“update_field”中添加这两个值,那么如果我尝试再次插入它,它不会再次插入数据,或者我的意思是它不会复制数据。我该怎么做,有人可以知道我如何编写一种方法来停止 elasticsearch 的重复数据,我正在使用 PHP
最佳答案
是的,只需将您的脚本更改为:
"script": "ctx._source.update_field = (ctx._source.update_field + new_value).unique();"
我们基本上是在 groovy 中连接两个列表,然后使用 unique()
我们可以删除所有重复项。另一种方法是将列表转换为 Set
,这会产生相同的效果。
关于elasticsearch - 如何停止重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723713/