0

假设正在发出 A、B、C 或 D 类型的事件。我想检测一个 A 类型的事件后面跟着一个 B 类型的事件。换句话说,我想检测一个序列,Esper 的 EPL 为其提供了->运算符。

但是,我上面描述的是模棱两可的,我想要的是以下内容:每当检测到 B 时,我希望它与最近的 A 匹配。

我一直在玩 EPL 的语法,但我能想到的最好的方法是:

select * from pattern [(every a=A) -> b=B]

但是,这会将每个 B 与最后一次匹配后出现的最旧 A 进行匹配。诡异的...

非常感谢您的帮助!:P

4

1 回答 1

1

我经常使用连接来进行简单匹配。另一个选项是匹配识别。像这样的加入。

select * from B unidirectional, A.std:lastevent()
于 2016-08-02T13:56:41.483 回答