2016-10-06 2 views
1

アイデア:検索特定の範囲と順序の上のイベントを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" 
         ] 
        } 
       } 
      } 
     } 
+0

本当に結果を集計する必要はありますか?出席者の数でソートされた上位7つのイベントの実際の文書を戻したいですか?はいの場合は、集約のタイプなしで通常のクエリが必要になることがあります。 –

+0

はい、私はイベントを戻すだけでなく、start_timeでソートする必要があります。なぜ私も成功していないtop_hitsを見た理由 – Tenaa

答えて

0

私はあなたわかりませんあなたが探しているものを得るために集約を使用する必要がある場合、私は単純なクエリがあなたが見たいと思っている結果をもたらすことができると考えています:

{ 
    "size": 7, 
    "sort": { 
    "attending": { 
     "order": "desc" 
    } 
    }, 
    "query": { 
    "bool": { 
     "filter": [ 
     { 
      "range": { 
      "start_time": { 
       "gte": "now-2M", 
       "lte": "now" 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

しかし、私はgeo_point、start_time、およびその他の条件で検索するためにクエリを使用しています – Tenaa

+0

あなたは何をしようとしているかについてもっと説明できますか? –

+0

はい、質問を編集します – Tenaa

関連する問題