【发布时间】:2018-04-04 01:35:51
【问题描述】:
使用弹性搜索 2.3.3
我有 date_histogram,里面有一个 bucket_script。在脚本中,我想在当前存储桶上使用一些聚合(那里没问题),但也想在前一个存储桶上使用聚合。我没有看到任何方法可以访问脚本中的其他存储桶。
我错过了什么还是不可能?
这是我的查询:
curl -XPOST "http://$ESHOST:$ESPORT/$INDEX_NAME/_search?pretty" -d '
{
"size": 0,
"aggs" : {
"s_price" : {
"date_histogram" : {
"field" : "a_date",
"interval" : "month",
"format" : "yyyy-MM"
},
"aggs" : {
"median_price": { "percentiles": { "field": "s_price", "percents": [50] } },
"median_price_change": { "derivative": { "buckets_path": "median_price.50" }},
"median_percent_change": {
"bucket_script": {
"gap_policy" : "insert_zeros",
"buckets_path": {
"price_change": "median_price_change",
"price_abs": "median_price.50"
},
"script": "price_change / price_abs * 100"
}
}
}
}
}
}'
而不是 price_abs 指向当前的桶值,我希望它指向之前的桶值。
谢谢
【问题讨论】:
-
请分享您目前所拥有的,以更好地说明您想要实现的目标。
-
@Val 我添加了更多细节
标签: elasticsearch