これは、ネストされたES集計クエリの結果です。このレスポンスを解析し、新しいJSON形式に変換する必要があります。次のJSONから興味のある項目はkey_as_a_stringの値と各キーのリンゴとオレンジの値だけです。ネストされた集約クエリ応答の解析
"aggregations": {
"Inner_aggregation": {
"doc_count": 366,
"Hours_aggregation": {
"doc_count": 366,
"by_day": {
"buckets": [
{
"key_as_string": "2016-01-11",
"key": 1452556800000,
"doc_count": 1,
"Apples": {
"value": 5
},
"Oranges": {
"value": 3
}
},
{
"key_as_string": "2016-01-12",
"key": 1452556800000,
"doc_count": 1,
"Apples": {
"value": 43
},
"Oranges": {
"value": 2
}
},
.........,
.........
]
}
}
}
}
}
私は(それがジャクソンobjectmapperを使用するか、またはsr.getAggregationsを使用して解析することができます)。取得(「histogram_name」)方法と、その後のコレクションを反復処理。簡単な方法があるかどうかを知りたい
必要なJSON形式
{
"Results": [{
"key_as_string": "2016-01-11",
"Apple_to_Orange_Ratio": 0.112
}, {
"key_as_string": "2016-01-12",
"Apple_to_Orange_Ratio": 0.12
}]
}
比率は、リンゴとオレンジ色の数を単純に分割して発見されます。
いいえ、クラスタからの残りのインターフェイス応答があります。レスポンス形式を変更することはできません。休憩の全体のポイントです。データを変換するために、クラスタとクライアントの間にトランスレータが必要な場合があります。 – user3775217