ElasticSearch日志直方图

时间:2016-08-06 17:36:18

标签: elasticsearch

我想在Elasticsearch中使用log-width bin。我怎样才能做到这一点?我知道如何在Elasticsearch DSL中使用普通直方图,

 = Search(using=client, index="cms*").filter('range', CpuEff={'from':0, 'to':100})
    s.aggs.bucket(vname, 'histogram', field=vname, interval=10)
    aggs = s.execute().aggregations

但是我的一些数据表现得很差,所以我想用x轴上的对数刻度来做。

我的意思是我想要[(1,10),(10,100),(100,1000),......等的箱子。

1 个答案:

答案 0 :(得分:0)

看看这个:

https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-aggregations-bucket-variablewidthhistogram-aggregation.html

那么你可以做的是:

"variable_width_histogram": {
  "field": "price",
  "script": "Math.log10(_value)",
  "buckets": 20 //number of buckets you want
}

您将获得 20 个带有“密钥”的存储桶,即 log10。

不仅仅是做 Math.pow(10, key) 来获取值