如何 select 来自过滤器的属性?
How to select an attribute from filters?
我有一个查询写成 -
from xyzStream [str:contains(name,'John') or str:contains(name,'Peter') or str:contains(name,'Sandy') ]
select name
insert into outputStream
但现在我想在传递匹配的过滤器子字符串的地方进行增强。例如,如果 str:contains(name,'John') returns 为真,则在输出流中插入 'John'。
有没有办法在 SiddhiQL 中做到这一点?
截至目前,这还不受支持,但是您可以在 select 子句中使用 str:contains 和 ifthenElse,
执行相同的操作
from xyzStream [str:contains(name,'John') or str:contains(name,'Peter') or str:contains(name,'Sandy') ]
select name,
ifthenElse(str:contains('John'), 'John', ifThenElse(str:contains('Peter'), 'Peter', 'Sandy')) as matchedString
insert into outputStream
有关 ifThenElse 函数的更多详细信息,请参阅 example
我有一个查询写成 -
from xyzStream [str:contains(name,'John') or str:contains(name,'Peter') or str:contains(name,'Sandy') ]
select name
insert into outputStream
但现在我想在传递匹配的过滤器子字符串的地方进行增强。例如,如果 str:contains(name,'John') returns 为真,则在输出流中插入 'John'。
有没有办法在 SiddhiQL 中做到这一点?
截至目前,这还不受支持,但是您可以在 select 子句中使用 str:contains 和 ifthenElse,
执行相同的操作from xyzStream [str:contains(name,'John') or str:contains(name,'Peter') or str:contains(name,'Sandy') ]
select name,
ifthenElse(str:contains('John'), 'John', ifThenElse(str:contains('Peter'), 'Peter', 'Sandy')) as matchedString
insert into outputStream
有关 ifThenElse 函数的更多详细信息,请参阅 example