2017-02-01 4 views
-2

私は最大値で1つを望むそれらの最大エントリのうち、最大時間(最近のエントリ)を検索する必要があります。 私はフィルターなどを使用して集計でさまざまなタイプの入れ子を試しました。それはうまくいかないようです。どんな助け?ElasticSearch Max of Max?

例: -

マッピング -

{ 
    "trytime": { 
    "mappings": { 
     "value": { 
     "properties": { 
      "time": { 
      "type": "long" 
      }, 
      "value": { 
      "type": "long" 
      } 
     } 
     } 
    } 
    } 
} 

値: -

{ 
    "took": 2, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 4, 
    "max_score": 1, 
    "hits": [ 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "2", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 5 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "4", 
     "_score": 1, 
     "_source": { 
      "time": 6, 
      "value": 10 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "1", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 6 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "3", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 9 
     } 
     } 
    ] 
    } 
} 

Iが最大時間と、そのような時間に対応する最大値を必要とする(に対応する複数の値があります特定の時間)。

問合せ: -

GET /trytime/_search 
{ 
    "size": 0, 
    "aggs":{ 
    "max_Value": { 
     "max": { 
     "field": "value" 
     } 
    } 
    }, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "range": { 
      "time": { 
       "gte": ___NEED-MAX-TIME-VALUE-HERE___ 
      } 
      } 
     } 
     ] 
    } 
    } 

}

+0

現在のクエリ、これまでに試したこと、失敗したものを返信する必要があります。 – jonasfh

+0

これまでに試したマッピング、スキーマ設定、サンプルドキュメント、およびクエリをご提供ください。それは私たちがあなたを助けることができる唯一の方法です。ありがとう – user3775217

答えて

1

私が正しくあなたの質問を理解している場合、このネストされた集合は、あなたに3最新回を与える必要がありますし、各時間のためにあなたは、最大値を取得します。結果が1つだけの場合は、サイズを1に設定します。

{ 
    "size": 0, 
    "aggs": { 
    "times": { 
     "terms": { 
     "field": "time", 
     "size": 3, 
     "order": { 
      "_term": "desc" 
     } 
     }, 
     "aggs": { 
     "max_vals": { 
      "max": { 
      "field": "value" 
      } 
     } 
     } 
    } 
    } 
} 

これが日付ヒストグラム集計でも達成できるかどうかはわかりません。