Elasticsearch中如何设置全局过滤器以优化cardinality聚合的效率?

2026-05-26 03:030阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1055个文字,预计阅读时间需要5分钟。

Elasticsearch中如何设置全局过滤器以优化cardinality聚合的效率?

1. 背景:此处将记录以下内容 + global + filters和cardinality的聚合操作。

2.解释:1. global 聚合是对所有文档进行全局聚合,不受查询条件限制。global聚合器只能作为顶级使用。

1. 背景

此处将单记录一下 global 、 filters和cardinality的聚合操作。

2、解释

1、global

global聚合是全局聚合,是对所有的文档进行聚合,而不受查询条件的限制。

global 聚合器只能作为顶级聚合器,因为将一个 global 聚合器嵌入另一个桶聚合器是没有意义的。

比如: 我们有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计总共有多少个文档。是50个,因为global统计不受查询条件的限制。

2、filters

定义一个多桶聚合,其中每个桶都与一个过滤器相关联。每个桶都会收集与其关联的过滤器匹配的所有文档。

Elasticsearch中如何设置全局过滤器以优化cardinality聚合的效率?

比如: 我们总共有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计 这10个文档中,出现info词语的文档有多少个,出现warn词语的文档有多少个。

阅读全文

本文共计1055个文字,预计阅读时间需要5分钟。

Elasticsearch中如何设置全局过滤器以优化cardinality聚合的效率?

1. 背景:此处将记录以下内容 + global + filters和cardinality的聚合操作。

2.解释:1. global 聚合是对所有文档进行全局聚合,不受查询条件限制。global聚合器只能作为顶级使用。

1. 背景

此处将单记录一下 global 、 filters和cardinality的聚合操作。

2、解释

1、global

global聚合是全局聚合,是对所有的文档进行聚合,而不受查询条件的限制。

global 聚合器只能作为顶级聚合器,因为将一个 global 聚合器嵌入另一个桶聚合器是没有意义的。

比如: 我们有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计总共有多少个文档。是50个,因为global统计不受查询条件的限制。

2、filters

定义一个多桶聚合,其中每个桶都与一个过滤器相关联。每个桶都会收集与其关联的过滤器匹配的所有文档。

Elasticsearch中如何设置全局过滤器以优化cardinality聚合的效率?

比如: 我们总共有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计 这10个文档中,出现info词语的文档有多少个,出现warn词语的文档有多少个。

阅读全文