获取字段所有唯一术语的最佳方法是什么? 可以使用术语聚合或通配符查询 (然后在应用程序端将其简化为唯一术语(?
{
"query": {
"wildcard" : { "text" : "**" }
}
}
或
{
"aggs" : {
"genres" : {
"terms" : { "field" : "text" }
}
}
}
术语聚合允许 elasticsearch 将术语减少为唯一值(以分布式方式(,从而减少响应有效负载。但是它会给 elasticsearch 带来太多的负载吗?
我知道术语聚合的分片大小方面。除此之外,一个内部优化是否比另一个优化?每个执行计划是什么?
"聚合可以看作是构建分析的工作单元 一组文档的信息">
您要实现的目标属于分析信息,因为它是开箱即用的,因此经过优化。
使用"explain": true
获取分数计算的说明(对聚合没有用,因为它们不对文档进行评分(
参考:ElasticSearch 中的聚合