[
https://issues.apache.org/jira/browse/SOLR-5973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joel Bernstein updated SOLR-5973:
---------------------------------
Description:
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={!customRank subquery=*:* param1=a param2=b}&wt=json&indent=true
{code}
In the sample above the param: {code}q={!customRank subquery=*:* 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
it's subquery.
The RankQuery impl will have to do several things:
1) Implement the RankQuery interface.
2) Wrap the subquery and proxy all calls to the Query interface to the
subquery. Using local params syntax the subquery can be any valid Solr query.
The custom QParserPlugin is responsible for parsing the subquery.
3) Implement hashCode() and equals() so the queryResultCache works properly
with subquery and custom ranking algorithm.
was:
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.
A new "rq" http parameter was added to support specifying a rank query using a
custom QParserPlugin.
Sample syntax:
{code}
q=*:*&wt=json&indent=true&rq={!myranker}
{code}
In the sample above the param: {code}rq={!myranker}{code} points to a
QParserPlugin that returns a Query that extends RankQuery.
> Pluggable Ranking Collectors
> ----------------------------
>
> 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
>
>
> 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={!customRank subquery=*:* param1=a param2=b}&wt=json&indent=true
> {code}
> In the sample above the param: {code}q={!customRank subquery=*:* 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
> it's subquery.
> The RankQuery impl will have to do several things:
> 1) Implement the RankQuery interface.
> 2) Wrap the subquery and proxy all calls to the Query interface to the
> subquery. Using local params syntax the subquery can be any valid Solr query.
> The custom QParserPlugin is responsible for parsing the subquery.
> 3) Implement hashCode() and equals() so the queryResultCache works properly
> with subquery and custom ranking algorithm.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]