我想在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),......等的箱子。
答案 0 :(得分:0)
看看这个:
那么你可以做的是:
"variable_width_histogram": {
"field": "price",
"script": "Math.log10(_value)",
"buckets": 20 //number of buckets you want
}
您将获得 20 个带有“密钥”的存储桶,即 log10。
不仅仅是做 Math.pow(10, key) 来获取值