唯一值 - 术语聚合或通配符查询

时间:2017-08-09 05:14:20

标签: elasticsearch

获得某个字段所有唯一字词的最佳方法是什么? 可以使用术语聚合或通配符查询 (然后在应用程序端将其减少为唯一的术语)?

{
    "query": {
        "wildcard" : { "text" : "**" }
    }
}

{
    "aggs" : {
        "genres" : {
            "terms" : { "field" : "text" }
        }
    }
}

术语聚合允许elasticsearch将术语减少为唯一值(以分布式方式),从而减少响应有效负载。但它是否会对弹性搜索造成太大的负担?

我了解术语聚合的分片大小方面。除此之外,是否内部优化了一个或不?每个人的执行计划是什么?

1 个答案:

答案 0 :(得分:0)

  

"聚合可以看作是构建分析的工作单元   关于一组文件的信息"

您尝试实现的目标属于分析信息,因为它是开箱即用的,它已经过优化。

使用"explain": true获取分数计算的描述(对于聚合没有用,因为它们没有对文档进行评分)

参考:Aggregations in ElasticSearch