ElasticSearch 的 array data type 是否支持类似集合的功能? ?
我希望能够写入多种类型的数组并强制数组值的唯一性。
换句话说,我正在寻找像 Redis 的 SADD 这样的东西或 MongoDB 的 addToSet但对于 ElasticSearch。
最佳答案
您可以使用 scripted updates 完成此操作.
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"
}
}'
请注意,出于安全原因,Elasticsearch 中的脚本有许多限制;你可能想检查 Scripting module page在文档中。
关于ElasticSearch 类似集合(唯一值列表)的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31014879/