1

アプリケーションで Esper を Siddhi に置き換えようとしています。現在の esper ステートメントは「タイムアウト」タイプのパターンであり、一意の「名前」と「タイプ」(着信イベントで検索できる文字列値のみ) のイベントが到着して出発したときに報告する必要があります。イベントが最初の一意のウィンドウに最初に到着したときに、イベントが到着したことがわかります。ユーザー定義のタイムアウト値に同じ名前とタイプのイベントが表示されない場合、イベントは出発すると想定します。これが私のエスパーステートメントの外観です(実際のエスパーではさらに多くのことが行われていることに注意してください。例のために単純化しただけです):

ウィンドウ events_1.std:firstunique(name, type) を NameEvent として作成

insert into events_1 select * from EventCycle[イベント]

on pattern [every event1=events_1->(timer:interval(4.0 sec) and not events_1(name=event1.name, type=event1.type))]events_1 から削除。ここで、name = event1.name AND type=event1.type

次に、events_1 から irstream を選択し、着信イベントと削除されたイベントを取得して、ウィンドウから「到着」イベントと「出発」イベントを取得します。

シッディの場合、最初のユニークなウィンドウはかなり単純です (私は思いますか?):

from EventCycle#window.firstUnique('name')[ type=='type' ] 名前を選択し、NameEvent に挿入します

しかし、そのエスパー「パターン」をシッディに置き換える方法については、本当に空白を描いています。これに単一の「すべてから」のステートメントを使用できますか、それともシッディで別のアプローチが必要ですか?

ここで私を正しい道に導く助けがあれば幸いです!

4

1 に答える 1