Esper组合查询结果

时间:2014-05-08 09:54:45

标签: java esper

我有一个Esper查询,如下所示:

 @Name("MyFirstEvent")
 select a.groupID as groupdID,count(*) as result
 from pattern[every a=MyFirstEvent where timer:within(10 sec)]
 where a.value > 60
 group by a.groupID
 having count(*) >= 3

这似乎工作正常。但是,我需要获取此查询的结果,然后将其与另一个查询的结果相结合。

例如 - 如果我看到此查询产生结果然后我看到另一个查询产生结果(彼此在10秒内),那么我想产生第三个事件。

你如何在Esper中做到这一点?我尝试编写一个查询说:select * from pattern[every a=MyFirstEvent -> b=MySecondEvent]但是它说它无法将MyFirstEvent解析为类型。

我考虑过使用命名窗口来存储每个查询的结果,然后查询窗口。这会有用吗?

1 个答案:

答案 0 :(得分:0)

经过一番调查后,我发现对我来说最简单的方法就是:

  1. 创建两个新窗口,暂时存储前两个查询的事件结果。
  2. 创建第三个查询,只查询前两个窗口,然后将结果连接在一起以生成第三个事件。