データを集計し、その集約キーは数値です。私はキーによる集計の結果をソートしようとしました。 elasticsearchキーを文字列として処理しました。Elasticsearch - 集計キーのソートを数値として取得
現在の結果バケットの数がかなり多いので、クライアント側で変更することはできません。これのアイデア?
ここは私の質問です。
"aggregations" : {
"startcount" : {
"terms" : {
"script" : "round(doc['startat'].value/1000)",
"size" : 1000,
"order" : { "_term" : "asc" }
}
}
}
と現在の結果バケット。
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "10",
"doc_count": 6
},
{
"key": "11",
"doc_count": 16
},
私の期待している結果です。
例:value_scriptアプローチを使用して
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "2", // not '10'
"doc_count": 6
},
{
"key": "3", // not '11'
"doc_count": 16
},
を、 'startat'フィールドには、どのような種類がありますか? – Val
タイプは 'date'で、フォーマットは 'strict_date_optional_time || epoch_millis'です。 –
私はdate_histogramを使うことをお勧めします。別の視点を与えてくれてありがとう。 –