gpt4 book ai didi

Elasticsearch 聚合 : Sum of latest childrens per parent

转载 作者:行者123 更新时间:2023-11-29 02:48:44 24 4
gpt4 key购买 nike

在 Elasticsearch 中有一个父子结构表示一个 orderorder_revision child 我想生成一个显示总和的 price 直方图数量

{
"_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"}
}
}
}
}
}
}

在最终版本中,它应该只返回最新修订版的数量字段的总和(具有最高/最新的时间戳)每个订单。我不完全确定如何提出这样一个聚合,它按 order_id 进行分组并且只选择最新的 child ,我也不确定这个父子结构是否是最好的模型数据。

最佳答案

最简单的实现是在文档中标记最新修订版 ("latest": true)。然后,添加查询或 filter 聚合以仅过滤最新修订版就变成了一个简单的问题。

关于 Elasticsearch 聚合 : Sum of latest childrens per parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41049025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com