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

ASF subversion and git services commented on SOLR-5973:
-------------------------------------------------------

Commit 1597923 from [~joel.bernstein] in branch 'dev/branches/branch_4x'
[ https://svn.apache.org/r1597923 ]

SOLR-5973: Pluggable Ranking Collectors and Merge Strategies

> Pluggable Ranking Collectors and Merge Strategies
> -------------------------------------------------
>
>                 Key: SOLR-5973
>                 URL: https://issues.apache.org/jira/browse/SOLR-5973
>             Project: Solr
>          Issue Type: New Feature
>          Components: search
>            Reporter: Joel Bernstein
>            Assignee: Joel Bernstein
>            Priority: Minor
>             Fix For: 4.9
>
>         Attachments: SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, 
> SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, 
> SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, 
> SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, SOLR-5973.patch, 
> SOLR-5973.patch
>
>
> This ticket introduces a new RankQuery and MergeStrategy to Solr. By 
> extending the RankQuery class, and implementing it's interface, you can 
> specify a custom ranking collector (TopDocsCollector) and distributed merge 
> strategy for a Solr query. 
> Sample syntax:
> {code}
> q=hello&rq={!customRank param1=a param2=b}&wt=json&indent=true
> {code}
> In the sample above the new "rq" (rank query) param: {code}rq={!customRank  
> param1=a param2=b}{code} points to a QParserPlugin that returns a Query that 
> extends RankQuery.  The RankQuery defines the custom ranking and merge 
> strategy for the main query.
> The RankQuery impl will have to do several things:
> 1) Implement the getTopDocsCollector() method to return a custom top docs 
> ranking collector.
> 2) Implement the wrap() method. The QueryComponent calls the wrap() method to 
> wrap the RankQuery around the main query. This design allows the RankQuery to 
> manage Query caching issues and implement custom Query explanations if needed.
> 3)  Implement hashCode() and equals() so the queryResultCache works properly 
> with main query and custom ranking algorithm.
>  4) Optionally implement a custom MergeStrategy to handle the merging of 
> distributed results from the shards.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to