gpt4 book ai didi

elasticsearch - Elasticsearch聚合:可以在聚合中引用过滤器/查询数据

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

因此,请考虑以下数据:

映射

{
"testIndex": {
"mappings": {
"testType": {
"properties": {
"eventType": {
"type": "string",
"index": "not_analyzed"
},
"eventStarted": {
"type": "date"
},
"eventEnded": {
"type": "date"
}
}
}
}
}
}

和一些样本数据来了解什么
{    
"eventType" : "type1",
"eventStarted" "2014-09-01 08:00:01",
"eventEnded" "2014-09-01 09:21:57"
},
{
"eventType" : "type1",
"eventStarted" "2014-09-01 10:01:07",
"eventEnded" "2014-09-01 10:28:11"
},
{
"eventType" : "type2",
"eventStarted" "2014-09-01 09:13:46",
"eventEnded" "2014-08-11 09:21:51"
},
{
"eventType" : "type3",
"eventStarted" "2014-08-11 10:13:46",
"eventEnded" "2014-08-11 10:21:51"
}
...

这个想法是,有些事件时不时地独立发生,我们记录它们何时开始和何时结束。

我需要做一个聚合,但是如果没有一些外部脚本,我想不出一种方法。

汇总应该给我:所有 事件类型的列表,该列表在 事件类型 “type1” 的开始和结束之前10分钟到0分钟发生。

而且我不需要对特定的“type1”事件执行此操作,而是对所有事件都执行此操作,因此我的聚合应该为每个 “type1” 事件创建一个存储桶,然后在该存储桶中列出在10分钟之前发生的类型的列表 “type1” ,但在type1开始后以我们为该实例找到的那些类型的数量开始计数而结束。

因此,据我了解,我需要某种方式来进行查询/过滤以获取所有type1事件,然后以某种方式在汇总中引用结果的日期字段,但是我根本找不到如何或是否有可能。

我希望这是有道理的。

很抱歉,这个问题很长,但是我认为这个抽象的例子将使我的问题更加清楚。

最佳答案

Elasticsearch聚合构建仅依赖于当前文档属性的存储桶。在这里,您尝试基于其他文档的值构建存储桶(概念上这是一个联接)–这是不可能的。

关于elasticsearch - Elasticsearch聚合:可以在聚合中引用过滤器/查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720027/

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