假设正在发出A,B,C或D类型的事件。我想检测类型A的事件后面跟着类型B的事件。换句话说,我想检测一个序列,Esper的EPL为其提供->
运算符。
然而,我上面描述的是模棱两可的,我想要的是以下内容:每当检测到B时,我希望它与最近的A匹配。
我一直在玩EPL的语法,但我能想到的最好的是:
select * from pattern [(every a=A) -> b=B]
但是,这会将每个B与最后一次匹配后出现的最旧A匹配。奇怪的...
非常感谢帮助! :P
答案 0 :(得分:1)
我使用连接进行简单匹配。另一个选项是匹配识别。像这样的连接。
select * from B unidirectional, A.std:lastevent()