【问题标题】:Unique values - Terms aggregation or Wildcard query唯一值 - 术语聚合或通配符查询
【发布时间】:2017-08-10 01:40:59
【问题描述】:

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

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

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

术语聚合让 elasticsearch 将术语减少为唯一值(以分布式方式),从而减少响应负载。但是它会给 elasticsearch 带来太多的负担吗?

我知道术语聚合的分片大小方面。除此之外,一个内部是否比另一个优化?每个的执行计划是什么?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

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

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

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

    参考:Aggregations in ElasticSearch

    【讨论】:

      猜你喜欢
      • 2019-12-06
      • 2015-02-13
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2018-05-21
      • 1970-01-01
      相关资源
      最近更新 更多