lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Bernstein (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (SOLR-5973) Pluggable Ranking Collectors and Merge Strategies
Date Sat, 07 Jun 2014 03:39:02 GMT

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

Joel Bernstein resolved SOLR-5973.
----------------------------------

    Resolution: Fixed

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


Mime
View raw message