You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Joel Bernstein (JIRA)" <ji...@apache.org> on 2015/07/03 14:38:04 UTC
[jira] [Comment Edited] (SOLR-7707) Add StreamExpression Support to
RollupStream
[ https://issues.apache.org/jira/browse/SOLR-7707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14613162#comment-14613162 ]
Joel Bernstein edited comment on SOLR-7707 at 7/3/15 12:37 PM:
---------------------------------------------------------------
No problem, I'm still wrapping up SOLR-7441.
was (Author: joel.bernstein):
No problem, I'm still wrapping up SOLR-744.
> Add StreamExpression Support to RollupStream
> --------------------------------------------
>
> Key: SOLR-7707
> URL: https://issues.apache.org/jira/browse/SOLR-7707
> Project: Solr
> Issue Type: Improvement
> Components: SolrJ
> Reporter: Dennis Gove
> Priority: Minor
> Attachments: SOLR-7707.patch, SOLR-7707.patch
>
>
> This ticket is to add Stream Expression support to the RollupStream as discussed in SOLR-7560.
> Proposed expression syntax for the RollupStream (copied from that ticket)
> {code}
> rollup(
> someStream(....),
> over="fieldA, fieldB, fieldC",
> min(fieldA),
> max(fieldA),
> min(fieldB),
> mean(fieldD),
> sum(fieldC)
> )
> {code}
> This requires making the *Metric types Expressible but I think that ends up as a good thing. Would make it real easy to support other options on metrics like excluding outliers, for example find the sum of values within 3 standard deviations from the mean could be
> {code}
> sum(fieldC, limit=standardDev(3))
> {code}
> (note, how that particular calculation could be implemented is left as an exercise for the reader, I'm just using it as an example of adding additional options on a relatively simple metric).
> Another option example is what to do with null values. For example, in some cases a null should not impact a mean but in others it should. You could express those as
> {code}
> mean(fieldA, replace(null, 0)) // replace null values with 0 thus leading to an impact on the mean
> mean(fieldA, includeNull="true") // nulls are counted in the denominator but nothing added to numerator
> mean(fieldA, includeNull="false") // nulls neither counted in denominator nor added to numerator
> mean(fieldA, replace(null, fieldB), includeNull="true") // if fieldA is null replace it with fieldB, include null fieldB in mean
> {code}
> so on and so forth.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org