[
https://issues.apache.org/jira/browse/FLINK-3703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15410704#comment-15410704
]
Ivan Mushketyk commented on FLINK-3703:
---------------------------------------
Hi [~till.rohrmann],
Thank you for your reply.
Just to make sure that I understand your idea.
By default the pattern mentioned in the issue description will generate
matching sequences: A, B; A, C; B, C;
Do I understand correctly that:
"after first" will generate sequences A, B; and B, C; but won't generate A, C;
since event A can participate as the first element only once
"after last" will generate sequence A, B; since every event can only
participate in the matching once
Also, do I understand correctly that matching semantics should be defined on
the sequence level and not on a level of a particular pattern?
> Add sequence matching semantics to discard matched events
> ---------------------------------------------------------
>
> Key: FLINK-3703
> URL: https://issues.apache.org/jira/browse/FLINK-3703
> Project: Flink
> Issue Type: Improvement
> Components: CEP
> Affects Versions: 1.0.0, 1.1.0
> Reporter: Till Rohrmann
> Assignee: Ivan Mushketyk
> Priority: Minor
>
> There is no easy way to decide whether events can be part of multiple
> matching sequences or not. Currently, the default is that an event can
> participate in multiple matching sequences. E.g. if you have the pattern
> {{Pattern.<Event>begin("a").followedBy("b")}} and the input event stream
> {{Event("A"), Event("B"), Event("C")}}, then you will generate the following
> matching sequences: {{Event("A"), Event("B")}}, {{Event("A"), Event("C")}}
> and {{Event("B"), Event("C")}}.
> It would be useful to allow the user to define where the matching algorithm
> should continue after a matching sequence has been found. Possible option
> values could be
> * {{from first}} - continue keeping all events for future matches (that is
> the current behaviour)
> * {{after first}} - continue after the first element (remove first matching
> event and continue with the second event)
> * {{after last}} - continue after the last element (effectively discarding
> all elements of the matching sequence)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)