es聚合分类

463 阅读1分钟

ES中聚合查询主要分为以下几种:

  1. 最大值(max)聚合:返回指定字段的最大值。
  2. 最小值(min)聚合:返回指定字段的最小值。
  3. 求和(sum)聚合:返回指定字段的总和。
  4. 平均值(avg)聚合:返回指定字段的平均值。
  5. 值计数(value_count)聚合:返回满足指定条件的文档数量。
  6. 范围(range)聚合:根据指定的范围分布返回文档数量。
  7. 日期范围(date_range)聚合:根据日期范围分布返回文档数量。
  8. 拟合(percentile)聚合:返回指定百分位数的文档值。
  9. 基数(cardinality)聚合:返回去重后的指定字段的文档数量。

聚合查询的三要素是:

  1. 聚合类型:如max、min、sum、avg等。
  2. 聚合字段:需要聚合的字段。
  3. 聚合别名:结果中的键名,一般为该聚合起了一个含义明确的名字。

对数据类型有以下要求:

  1. 求和、平均值、最大/小值聚合要求字段为数值类型(long、integer、float、double等)。
  2. 基数聚合要求字段为Keyword类型或 complicate类型(nested object)。
  3. 范围聚合要求字段为数值类型或日期类型。
  4. 值计数聚合没有要求,可以对任意类型的数据进行聚合计数。

项目中,你是如何实现从mysql中的数据同步到es的?

使用MQ消息队列

什么是脑裂?es是怎么解决的?

查询时自定义分词器又多种参与查询 解决查询时只指定一个分词器