使用Elasticsearch版本是5.4.2如何计算Elasticsearch的平均最短时间?
我想建立一个Elasticsearch查询以满足三个条件。
- 过滤器由championId
- 得到最少的时间来购买每场比赛各项目
- 中计算平均最少的时间来购买所有游戏每个项目。
我做了1和2.但我找不到解决办法3.是否可以在查询中执行1到3?以防万一,我将在Laravel 5.4中使用PHP框架的结果。
我的数据格式如下:
"_index": "timelines",
"_type": "timeline"
"_source": {
"gameId": 152735348,
"participantId": 3,
"championId": 35,
"role": "NONE",
"lane": "JUNGLE",
"win": 1,
"itemId": 1036,
"timestamp": 571200
}
我现在Elasticsearch查询此
GET timelines/_search?size=0&pretty
{
"query": {
"bool": {
"must": [
{ "match": { "championId": 22 }}
]
}
},
"aggs": {
"games": {
"terms": {
"field": "gameId"
},
"aggs": {
"items": {
"terms": {
"field": "itemId",
"order" : { "min_buying_time" : "asc" }
},
"aggs": {
"min_buying_time": {
"min": {
"field": "timestamp"
}
}
}
}
}
}
}
}
Sönke,谢谢你的建议。我从来没有听说过“管道集合”这个词。我要检查你告诉的网页。 :) – hikozuma