5
ヒッツ:ElasticSearch集約は、私は次のようにデータを持っている
"aggs": {
"user_bucket": {
"terms": {
"field": "userid"
},
"aggs": {
"user_latest_count": {
"top_hits": {
"size": 1,
"sort": [
{
"data": {
"order": "desc"
}
}
],
"_source": {
"include": [
"docs"
]
}
}
}
}
}
}
:
{"action":"CREATE","docs":1,"date":"2016 Jun 26 12:00:12","userid":"1234"}
{"action":"REPLACE","docs":2,"date":"2016 Jun 27 12:00:12","userid":"1234"}
{"action":"REPLACE","docs":1,"date":"2016 Jun 27 13:00:12","userid":"1234"}
{"action":"CREATE","docs":1,"date":"2016 Jun 28 12:00:12","userid":"3431"}
{"action":"REPLACE","docs":2,"date":"2016 Jun 28 13:00:12","userid":"3431"}
{"action":"CREATE","docs":1,"date":"2016 Jun 29 12:00:12","userid":"9999"}
を日付ごとに一意の各ユーザーの順(降順)のレコードを取得するには、私はトップ下のいずれかのようヒッツ使用しました
は、上記のクエリの結果は以下の通りである:
{"action":"REPLACE","docs":1,"date":"2016 Jun 27 13:00:12","userid":"1234"}
{"action":"REPLACE","docs":2,"date":"2016 Jun 28 13:00:12","userid":"3431"}
{"action":"CREATE","docs":1,"date":"2016 Jun 29 12:00:12","userid":"9999"}
を今、私は結果があるように、さらにこれを集約したいです次のように:
{"sum_of_different_buckets": 4}
でもないように注意してくださいどのようにSUMフィールド上で得られた結果から、「ドキュメント」値。
達成したいことがわかりません。 docsの値を集計しますか?結果はどのように見えるのでしょうか? –
質問を編集しましたので、今すぐ確認してください。基本的には、Top Hits集計以上の集約レベルが1つ必要です。その結果、フィールド「文書」の合計が得られます。 – SuperCoder
これは可能ですが、top_hitsの出力を使用したいので、この集計は他の集計では使用できないため、これは可能ではないと思います。あなた自身のコード/アプリケーションで和を行うことはできませんか? –