diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-05-04 12:34:10 +0000 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-05-08 12:59:40 +0200 |
commit | bd9d968854e1723b8f09f6d9ba320e9b3daf774e (patch) | |
tree | 0c11f46a573c37b5bf234c14dcfca0af36845db2 /container-search/src/main/javacc/com/yahoo/search/grouping | |
parent | b374b62e10cd3e97a74234117546ba95d29403c1 (diff) |
Add aggregator for calculating the population standard deviation
Diffstat (limited to 'container-search/src/main/javacc/com/yahoo/search/grouping')
-rw-r--r-- | container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj index 89433ab52f5..e38195af374 100644 --- a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj +++ b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj @@ -139,6 +139,7 @@ TOKEN : <SORT: "sort"> | <INTERPOLATEDLOOKUP: "interpolatedlookup"> | <SQRT: "sqrt"> | + <STDDEV: "stddev"> | <STRCAT: "strcat"> | <STRLEN: "strlen"> | <SUB: "sub"> | @@ -358,6 +359,7 @@ GroupingExpression value(GroupingOperation grp) : exp = sortFunction(grp) | exp = arrayAtLookup(grp) | exp = interpolatedLookup(grp) | + exp = stddevAggregator(grp) | exp = stringValue() | exp = strCatFunction(grp) | exp = strLenFunction(grp) | @@ -695,6 +697,15 @@ RawValue rawValue(GroupingOperation grp) : { return new RawValue(buffer); } } +StandardDeviationAggregator stddevAggregator(GroupingOperation grp) : +{ + GroupingExpression exp; +} +{ + ( <STDDEV> lbrace() exp = exp(grp) rbrace() ) + { return new StandardDeviationAggregator(exp); } +} + StringValue stringValueUnquoted() : { String str; @@ -1018,6 +1029,7 @@ String identifier() : <SORT> | <INTERPOLATEDLOOKUP> | <SQRT> | + <STDDEV> | <STRCAT> | <STRLEN> | <SUB> | |