ASF subversion and git services commented on SOLR-14481:

Commit 7bb9926ef282321361a7f90a6f577a72121c6582 in lucene-solr's branch 
refs/heads/jira/SOLR-14354 from Joel Bernstein
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=7bb9926 ]

SOLR-14481: Add drill Streaming Expression

> Add drill Streaming Expression for efficient and accurate high cardinality 
> aggregation
> --------------------------------------------------------------------------------------
>                 Key: SOLR-14481
>                 URL: https://issues.apache.org/jira/browse/SOLR-14481
>             Project: Solr
>          Issue Type: New Feature
>          Components: streaming expressions
>            Reporter: Joel Bernstein
>            Assignee: Joel Bernstein
>            Priority: Major
>             Fix For: 8.6
>         Attachments: SOLR-14481.patch, SOLR-14481.patch
> This ticket will add the *drill* Streaming Expression. The drill Streaming 
> Expression is a wrapper around the functionality that is described in 
> SOLR-14470. The idea is for drill to contact the /export handler on one 
> replica in each shard of a collection and pass four parameters:
>  * q: query
>  * fl: field list
>  * sort: sort spec
>  * expr: The Streaming Expression sent to the /export handler to be executed.
> 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", 
> 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", 
>              rollup(input(), over="a,b", sum(c))),
>        a,
>        b,
>        sum(c) as sums),
>     over="a, b",
>     sum(sums))
>  {code}
>  This provides fast aggregation over fields with infinite cardinality by 
> pushing down the first level of aggregation into the /export handler.

This message was sent by Atlassian Jira

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

Reply via email to