[ 
https://issues.apache.org/jira/browse/SOLR-7707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14612814#comment-14612814
 ] 

Dennis Gove commented on SOLR-7707:
-----------------------------------

Looks like I cut my branch from trunk before those changes were committed. I'll 
go through some rebasing tomorrow and post up a new patch. Sorry abut that.

> 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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to