[ https://issues.apache.org/jira/browse/FLINK-9576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16559562#comment-16559562 ]
ASF GitHub Bot commented on FLINK-9576: --------------------------------------- zentol commented on a change in pull request #6268: [FLINK-9576] Fixed documentation for contiguity within looping pattern. URL: https://github.com/apache/flink/pull/6268#discussion_r205736198 ########## File path: docs/dev/libs/cep.md ########## @@ -919,6 +774,164 @@ next.within(Time.seconds(10)) </div> </div> +#### Contiguity within looping patterns + +You can apply the same contiguity condition as discussed in the previous [section](#combining-patterns) within a looping pattern. +The contiguity will be applied between elements accepted into such a pattern. +To illustrate the above with an example, a pattern sequence `"a b+ c"` (`"a"` followed by one or more `"b"`'s followed by a `"c"`) with +input `"a", "b1", "d1", "b2", "d2", "b3" "c"` will have the following results: + + 1. **Strict Contiguity**: `{a b3}` -- the `"d1"` after `"b1"` causes `"b1"` to be discarded, the same happens for `"b2"` because of `"d2"`. Review comment: why isn't the result `{a b3 c}`? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Wrong contiguity documentation > ------------------------------ > > Key: FLINK-9576 > URL: https://issues.apache.org/jira/browse/FLINK-9576 > Project: Flink > Issue Type: Bug > Components: CEP, Documentation > Reporter: Dawid Wysakowicz > Assignee: Dawid Wysakowicz > Priority: Critical > Labels: pull-request-available > Fix For: 1.6.0 > > > Example for the contiguity is first of all wrong, and second of all > misleading: > > {code:java} > To illustrate the above with an example, a pattern sequence "a+ b" (one or > more "a"’s followed by a "b") with input "a1", "c", "a2", "b" will have the > following results: > Strict Contiguity: {a2 b} – the "c" after "a1" causes "a1" to be discarded. > Relaxed Contiguity: {a1 b} and {a1 a2 b} – "c" is ignored. > Non-Deterministic Relaxed Contiguity: {a1 b}, {a2 b}, and {a1 a2 b}. > For looping patterns (e.g. oneOrMore() and times()) the default is relaxed > contiguity. If you want strict contiguity, you have to explicitly specify it > by using the consecutive() call, and if you want non-deterministic relaxed > contiguity you can use the allowCombinations() call. > {code} > > Results for the relaxed contiguity are wrong plus they do not clearly > explains the internal contiguity of kleene closure. -- This message was sent by Atlassian JIRA (v7.6.3#76005)