[ 
https://issues.apache.org/jira/browse/SOLR-14481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joel Bernstein updated SOLR-14481:
----------------------------------
    Description: 
This ticket will add the *drill* Streaming Expression. The drill Streaming 
Expression is a wrapper around the functionality that described in SOLR-14470. 
The idea is for drill to contact the /export handler in a replica for each in a 
collection pass four parameters:
 * q: query
 * fl: field list
 * sort: sort spec
 * expr: Streaming Expressions.

The export handler will pass the result set through the streaming expression 
performing an aggregation on the sorted result set and return the aggregated 
tuples. The drill expression will simply maintain the sort order of the tuples 
and emit them so that a wrapper expression can perform operations on the sorted 
aggregate tuples.

Sample syntax:
{code:java}
drill(collection1, q="*:*", fl=a,b,c, sort="a desc, b desc", 
expr="rollup(input(), over="a, b", sum(c))") {code}
 In order to finish the aggregation other expressions can be used:
{code:java}
rollup(
    select(
       drill(collection1, q="*:*", fl=a,b,c, sort="a desc, b desc", 
expr="rollup(input(), over="a, b", sum(c))"),
       a,
       b,
       sum(c) as sums),
    over="a, b",
    sum(sums))
       
 {code}
 

 

 

  was:
This ticket will add the *drill* Streaming Expression. The drill Streaming 
Expression is a wrapper around the functionality that described in SOLR-14470. 
The idea is for drill to contact the /export handler in a replica for each in a 
collection pass four parameters:
 * q: query
 * fl: field list
 * sort: sort spec
 * expr: Streaming Expressions.

The export handler will pass the result set through the streaming expression 
performing an aggregation on the sorted result set and return the aggregated 
tuples. The drill expression will simply maintain the sort order of the tuples 
and emit them so that a wrapper expression can perform operations on the sorted 
aggregate tuples.

Sample syntax:
{code:java}
drill(collection1, q="*:*", fl=a,b,c, sort="a desc, b desc", 
expr="rollup(input(), over="a, b", sum(c))") {code}
 

 

 

 


> Add drill Streaming Expression
> ------------------------------
>
>                 Key: SOLR-14481
>                 URL: https://issues.apache.org/jira/browse/SOLR-14481
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: streaming expressions
>            Reporter: Joel Bernstein
>            Priority: Major
>
> This ticket will add the *drill* Streaming Expression. The drill Streaming 
> Expression is a wrapper around the functionality that described in 
> SOLR-14470. The idea is for drill to contact the /export handler in a replica 
> for each in a collection pass four parameters:
>  * q: query
>  * fl: field list
>  * sort: sort spec
>  * expr: Streaming Expressions.
> The export handler will pass the result set through the streaming expression 
> performing an aggregation on the sorted result set and return the aggregated 
> tuples. The drill expression will simply maintain the sort order of the 
> tuples and emit them so that a wrapper expression can perform operations on 
> the sorted aggregate tuples.
> Sample syntax:
> {code:java}
> drill(collection1, q="*:*", fl=a,b,c, sort="a desc, b desc", 
> expr="rollup(input(), over="a, b", sum(c))") {code}
>  In order to finish the aggregation other expressions can be used:
> {code:java}
> rollup(
>     select(
>        drill(collection1, q="*:*", fl=a,b,c, sort="a desc, b desc", 
> expr="rollup(input(), over="a, b", sum(c))"),
>        a,
>        b,
>        sum(c) as sums),
>     over="a, b",
>     sum(sums))
>        
>  {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to