0
私はelasticsearchでクエリを実行しています。インデックスに表示されている各月の属性 "end_date_ut"(タイプは日付で、フォーマットはdateOptionalTime)のヒット数を取得する必要があります。 そのために、私はdate_histogram集約を使用しています。ちょうど怒鳴るdate_histogramアグリゲーションにサイズを入れる方法
マイクエリ:
GET inc/_search
{
"size": 0,
"aggs": {
"appli": {
"date_histogram": {
"field": "end_date_ut",
"interval": "month"
}
}
}
}
そして、ここでは結果の一部です:
"hits": {
"total": 517478,
"max_score": 0,
"hits": []
},
"aggregations": {
"appli": {
"buckets": [
{
"key_as_string": "2009-08-01T00:00:00.000Z",
"key": 1249084800000,
"doc_count": 0
},
{
"key_as_string": "2009-09-01T00:00:00.000Z",
"key": 1251763200000,
"doc_count": 1
},
{
"key_as_string": "2009-10-01T00:00:00.000Z",
"key": 1254355200000,
"doc_count": 2362
},
{
"key_as_string": "2009-11-01T00:00:00.000Z",
"key": 1257033600000,
"doc_count": 5336
},
{
"key_as_string": "2009-12-01T00:00:00.000Z",
"key": 1259625600000,
"doc_count": 7536
},
{
"key_as_string": "2010-01-01T00:00:00.000Z",
"key": 1262304000000,
"doc_count": 8864
}
は、問題は、私はあまりにも多くのバケット(結果を)持っているということです。 「用語集合」を使用しているときは、サイズを設定できるので問題はありませんが、「date_histogram aggregation」ではクエリ結果に制限を付ける方法が見つかりません。
'date_aggregation'が実行される時間間隔を制限するために' range'クエリを追加する必要があります。 – Val
これは良い解決策ですが、私は時間間隔を制限したくありません。 20の最初の結果しか得られない別の方法はありますか? –
'min_doc_count'を使ってデータを持つバケットのみを含めることができます。つまり、0のドキュメントを持つバケットは応答に戻ってこないでしょう。 – Val