アイデア:検索特定の範囲と順序の上のイベントをstart_timeで検索します。同様:集計を範囲の時間と期間で使用する方法
{
"from": 0,
"size": 7,
"query": {
"filtered": {
"query": { "match_all": {} },
"filter": {
"and": [
{ "bool": { "must_not": { "term": { "status": "OK" } } } },
{ "bool": { "must": { "term": { "is_blocked": false } } } }, {
"range": {
"start_time": {
"gte": "2016-01-01",
"lte": "2016-03-01"
}
}
}, {
"bool": {
"must": {
"geo_distance": {
"distance": "150km",
"coordinates": "xx.xxx, zz.zz "
}
}
}
}
]
}
}
},
"sort": [{ "start_time": "asc" },
{ "attending": "desc" }
]
}
を理解するので、まだ基本的な問題と集計のこの考え方に私は非常に新しい、私は次の2ヶ月間のトップイベントの7つの結果をしたいです。だから私は見るべき2つの属性があります。 (attendings)の参加者の最大は、トップの定義ですが、また、私は時間(START_TIME:ASC)で、この順番をしたい 私が書い始める何が、間違っている:
{
"aggs": {
"aggs": {
"event_interval": {
"date_histogram": {
"field": "start_time",
"interval": "2M",
"format": "dateOptionalTime"
}
},
"max_attending": { "max": { "field": "attending" } },
"_source": {
"include": [
"name"
]
}
}
}
}
本当に結果を集計する必要はありますか?出席者の数でソートされた上位7つのイベントの実際の文書を戻したいですか?はいの場合は、集約のタイプなしで通常のクエリが必要になることがあります。 –
はい、私はイベントを戻すだけでなく、start_timeでソートする必要があります。なぜ私も成功していないtop_hitsを見た理由 – Tenaa