如何定义Siddhi查询以检测具有以下属性的两个事件e1和e2:
在Drools中我们可以使用Allen运算符重合:e1重合e2 [5s]
答案 0 :(得分:0)
如果e1和e2都是来自同一流的两种不同类型的事件,那么
<div class="wrapper">
<img src="http://lorempixel.com/image_output/nature-h-c-300-450-2.jpg">
<img src="http://lorempixel.com/image_output/people-h-c-300-601-10.jpg">
<img src="http://lorempixel.com/image_output/nature-h-c-300-306-10.jpg">
<img src="http://lorempixel.com/image_output/abstract-q-c-300-148-2.jpg">
<img src="http://lorempixel.com/image_output/cats-h-c-300-627-4.jpg">
<img src="http://lorempixel.com/image_output/technics-h-c-300-460-8.jpg">
</div>
否则,如果它们来自不同的流,您可能需要编写两个查询
from every e1=FooStream -> e2=FooStream[e1.type!= e2.type and math:abs(e1.timestamp - e2.timestamp ) <= 5*6000]
within 10 sec
select e1.timestamp, e2. ...
insert into OutputStream;
如果&#34;时间戳&#34;是一个Siddhi事件时间戳(不是事件中的属性)然后我们可以在5秒内使用&#34;&#34;并省略filter子句,但如果timeStamp也作为普通属性发送,那么我们必须遵循上述查询格式。