ElasticSearch 类似集合(唯一值列表)的功能?
ElasticSearch set-like (unique list of values) functionality?
ElasticSearch array data type 是否支持类似集合的功能?
我希望能够写入多种类型的数组并强制数组值的唯一性。
换句话说,我正在寻找类似于 Redis 的东西 SADD or MongoDB's 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 array data type 是否支持类似集合的功能?
我希望能够写入多种类型的数组并强制数组值的唯一性。
换句话说,我正在寻找类似于 Redis 的东西 SADD or MongoDB's 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。