在Elasticsearch中擁有父子結構,代表order
和order_revision
子女我想要生成price
的柱狀圖,其中顯示quantity
的總和。Elasticsearch聚合:每個父代的最新兒童總和
{
"_type": "order",
"_id": "1063220887",
"_score": 1,
"_source": {
"order_id": "1063220887",
"product_id": "10446350",
"timestamp": 1462713302000
}
}
{
"_type": "order_revision",
"_id": "10234234",
"_parent": "1063220887",
"_source": {
"price": 9,
"quantity": 3,
"revision": 361,
"timestamp": 1462712196000
}
}
下面的聚合基本上工作,但返回所有存在的修訂的總和。
{
"aggs": {
"orders": {
"filter": {
"has_parent": {
"parent_type": "order"
}
},
"aggs": {
"quantity_per_price": {
"histogram": {
"field": "price",
"interval": 1
}
"aggs": {
"sum": {"field": quantity"}
}
}
}
}
}
}
在最終版本應該只返回quantity
字段的總和爲最新版本(最高/最新timestamp
)每一份訂單的。 我不完全確定如何拿出這樣一個聚合,它由order_id
分組,並只選擇最新的孩子,我不知道如果這個父子結構是最好的模型這個數據。
每個訂單大約有多少次修訂?我們正在談論1-2或更高的數量,如10-20 +? – Val
大概是10 .... –