【问题标题】:ElasticSearch Filter by Aggregation ResultElasticSearch 按聚合结果过滤
【发布时间】:2015-10-06 21:52:49
【问题描述】:

我只是想仔细检查一下我是否没有遗漏任何内容。在 ElasticSearch 1.4 中,不可能对聚合结果运行任何类型的服务器端过滤,对吗?例如,我有一个平均百分比聚合(0 ..),我想删除结果中高于 0.9 的所有内容。

使用 ES 2.0 reducer,这似乎是可能的,或者现在在客户端,但这都需要非常高的术语计数(最终全部)来解决这个问题。

我错过了 ES 1.4 的方法来实现这一点吗?

这里是一个例子:

{
  "aggs": {
    "group": {
      "terms": {
        "field": "contextRaw.site_city",
        "order": {
          "result": "desc"
        }
      },
      "aggs": {
        "result": {
          "avg": {
            "field": "somePercentage"
          }
        }
      }
    }
  }
}

结果是现在小桶也以 1.0 的百分比居于首位,而我对那些不感兴趣,但对低于 0.9 的那些不感兴趣。

   "aggregations": {
      "group": {
         "doc_count_error_upper_bound": -1,
         "sum_other_doc_count": 5924518,
         "buckets": [
            {
               "key": "value A",
               "doc_count": 3921,
               "result": {
                  "value": 1
               }
            },
            {
               "key": "value B",
               "doc_count": 312,
               "result": {
                  "value": 1
               }
            },

【问题讨论】:

    标签: elasticsearch filter aggregation


    【解决方案1】:

    我不确定最好的提问地点,它在official forums 中得到了回答。

    在 1.4 中,没有任何东西可以过滤由 客户端聚合。带有新管道的 2.0 版本 聚合有 bucket_selector 聚合,它将允许 你做这种过滤虽然

    .

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多