2016-08-02 31 views
0

假設正在發射A,B,C或D類型的事件。我想要檢測何時類型A的事件之後是類型B的事件。換句話說,我想檢測一個序列,對於這個序列,Esper的EPL提供了->運算符。簡單事件序列

不過,我上面描述是模糊的,我想是這樣的:當檢測到B,我希望它與最近A.

我已經與英超的語法玩弄匹配,但我能想到的最好的是:

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

但是,這會將每個B與最後一次匹配後發生的最老的A相匹配。奇怪...

非常感謝幫助! :P

回答

1

我使用加入了很多簡單的匹配。另一種選擇是匹配識別。像這樣的連接。

select * from B unidirectional, A.std:lastevent()