ElasticSearch 是否支持其数组数据类型的类似集合的功能?
我希望能够向数组写入多种类型并强制数组值的唯一性。
换句话说,我正在寻找类似 Redis 的SADD或 MongoDB 的addToSet 的东西,但适用于 ElasticSearch。
您可以通过脚本化更新来完成此任务。
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"script" : "ctx._source.tags.contains(tag) ? (ctx.op = \"none\") : ctx._source.tags += tag"
"params" : {
"tag" : "blue"
}
}'
Run Code Online (Sandbox Code Playgroud)
请注意,出于安全原因,Elasticsearch 中的脚本存在许多限制;您可能想检查文档中的脚本模块页面。