elasticsearch对存储桶上的字段求平均值

时间:2016-12-10 09:39:23

标签: elasticsearch

我是elasticsearch的新手,试图了解聚合和指标的工作原理。我特别运行一个聚合查询来检索来自elasticsearch实例的clientIPHash的平均numn个字节数。我创建的查询(使用kibana)如下:

{
  "size": 0,
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "*",
          "analyze_wildcard": true
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "@timestamp": {
                  "gte": 1476177616965,
                  "lte": 1481361616965,
                  "format": "epoch_millis"
                }
              }
            }
          ],
          "must_not": []
        }
      }
    }
  },
  "aggs": {
    "2": {
      "terms": {
        "field": "ClientIP_Hash",
        "size": 50,
        "order": {
          "1": "desc"
        }
      },
      "aggs": {
        "1": {
          "avg": {
            "field": "Bytes Out"
          }
        }
      }
    }
  }
}

它给了我一些输出(应该是avg),分组在clientIPHash上,如下所示:

ClientIP_Hash: Descending   Average Bytes Out 
64e6b1f6447fd044c5368740c3018f49    1,302,210
4ff8598a995e5fa6930889b8751708df    94,038
33b559ac9299151d881fec7508e2d943    68,527
c2095c87a0e2f254e8a37f937a68a2c0    67,083
...

问题是,如果我用平均值或最小值或任何其他度量标准类型替换平均值,我仍然得到相同的值。

ClientIP_Hash: Descending   Sum of Bytes Out 
64e6b1f6447fd044c5368740c3018f49    1,302,210
4ff8598a995e5fa6930889b8751708df    94,038
33b559ac9299151d881fec7508e2d943    68,527
c2095c87a0e2f254e8a37f937a68a2c0    67,083

我检查了kibana生成的查询,似乎正确地将关键字' sum'或者' avg'因此。我很困惑为什么我得到平均值和总和或任何其他指标的相同值。

1 个答案:

答案 0 :(得分:1)

您能否看到您的样本数据集是否有更多值。如果只有一个值,则min,max和Avg保持不变。

由于