我查询elasticsearch使用聚合。我的回应是
"aggregations" : {
"time" : {
"buckets" : [
{
"key_as_string" : "2019-01-01",
"key" : 1546300800000,
"doc_count" : 12,
"look_up" : {
"doc_count" : 5,
"unlock_not_suggested" : {
"doc_count" : 2
}
}
},
. 现在我想使用脚本来转换这样的数据
['lookup': 5, 'unlock_not_suggested': 2 ]
我找到并看到这样的建议使用脚本,但我不知道如何在我的查询中添加它:
aggs.stream().flatMap(a -> a.stream().flatMap( b->b.stream().map( c-> -> ['A': a.key, 'B': b.key, 'C': c.key ] ) ) ).collect(Collectors.toList())
我的查询是
POST test.userstats/_search
{
"size": 0,
"aggs": {
"time": {
"date_histogram": {
"field": "event_stats.watch_10_percent_video.first_time",
"format": "yyyy-MM-dd",
"interval": "year",
"min_doc_count": 0
},
"aggs": {
"look_up": {
"filter": {
"exists": {
"field": "event_stats.look_up"
}
},
"aggs": {
"unlock_not_suggested": {
"filter": {
"exists": {
"field": "event_stats.unlock_not_suggested_video"
}
}
}
}
}
}
}
}
}