gpt4 book ai didi

elasticsearch - 计算消息的平均响应时间

转载 作者:行者123 更新时间:2023-12-02 23:07:42 29 4
gpt4 key购买 nike

样本文档:

{
"id":123,
"message_type":"RECEIVE",
"conversation_id":"1"
"date":"2020-01-01T12:00:00"
},
{
"id":456,
"message_type":"SEND",
"conversation_id":"1"
"date":"2020-01-01T13:00:00"
},
{
"id":789,
"message_type":"SEND",
"conversation_id":"1"
"date":"2020-01-01T14:00:00"
}
上下文:
  • 对消息的响应未嵌套在消息下方。他们也不共享 parent / child 的关系。
  • 每个发送的消息都应被视为对最后收到的消息的答复。 (我知道这看起来可能很奇怪,但是确实如此)

  • 询问:以计算每月邮件的中值响应时间。
    问题:中位数计算可能不是问题,但我不确定如何考虑文档的统一层次结构来计算响应时间。
    我的尝试:
  • 对于每个新发送的消息,将响应时间标记为 session 中最后收到的消息。
  • 处理#1的旧对话/消息。

  • 有更好的方法吗?可以使用管道聚合吗?

    最佳答案

    可能有一种我不知道的使用管道aggs来实现此目的的方法,但是由于文档的上下文彼此之间“不了解”,因此您可能需要为此使用脚本化度量。
    伪代码如下所示:

  • 初始化:初始化一个空的每月哈希表-vs-由ID
  • 分组的消息的哈希表
  • map :遍历所有查询的文档,并将它们分配给正确的 map 叶子
  • 组合:计算中位数和其他指标
  • 减少:以您选择的格式返回指标

  • 这是 concrete, similar example。忽略 nested方面-原理仍然存在。

    关于elasticsearch - 计算消息的平均响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63954039/

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