使用ES 2.3.3
我想使用Derivative Aggregation但是应该用来计算它的指标不是avg
或sum
,它只是每个doc_count
的原始"aggs" : {
"sales_per_month" : {
"date_histogram" : {
"field" : "date",
"interval" : "month"
},
"aggs": {
"sales": {
"stats": {
"field": "price"
}
},
"sales_deriv": {
"derivative": {
"buckets_path": "sales.count"
}
}
}
}
}
父直方图的桶(sales_per_month)。
我通过使用stats agg:
让它像这样工作java.lang.String:
public class Test{
public static void main(final String[] args){
System.out.println("c".getClass().getName());
}
}
这真的是这样做的方式还是我错过了一种更简单的方法?
答案 0 :(得分:1)
我认为它不会比这更简单。它看起来很好,简单而优雅。
答案 1 :(得分:0)
不必仅出于引用stats
的目的就定义嵌套count
聚合。每个存储桶都有一个对应于_count
的隐式doc_count
属性,您可以在bucket_path
中使用它。
在您的示例中,您引用的是上下文父级聚合,您只需引用_count
(即您已经在sales_per_month
聚合的上下文中)。
在您的特定情况下,您可以将其用作:
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"interval": "month"
},
"aggs": {
"sales_deriv": {
"derivative": {
"buckets_path": "_count"
}
}
}
}
}