Good suggestion. That would work for simple queries, but won't work in this 
case, because the score is deep down a complex query tree and should not always 
be applied on root level, only if other boolean conditions nearby match.

--
Jan Høydahl, search solution architect
Cominvent AS - www.cominvent.com
Solr Training - www.solrtraining.com

25. feb. 2013 kl. 23:57 skrev Jack Krupansky <j...@basetechnology.com>:

> Bite the bullet and use a function query for the boost: 
> &bf=max(query({!v='field:C'}),query({!v='field:D'}),query({!v='field:E'}))
> 
> -- Jack Krupansky
> 
> -----Original Message----- From: Jan Høydahl
> Sent: Monday, February 25, 2013 6:32 AM
> To: solr-user@lucene.apache.org
> Subject: Max Score Query parser?
> 
> Hi,
> 
> A customer sends large, deeply nested boolean queries to Solr using the 
> default (lucene) parser.
> The default scoring is summing up all the scores. For parts of this query 
> they would like
> to use the Max score instead of the sum, e.g. for q=+A +B +(C D E) we want 
> the max
> of C,D,E. I was thinking about writing a MaxScoreQParserPlugin returning the 
> max of any of its clauses,
> so you could express the business requirement as this query: q=+A +B 
> +_query_:"{!maxscore}C D E",
> where C D E could in turn be nested boolean expressions.
> 
> I cannot use DisMax, cause it only returns max across multiple fields, not 
> across multiple clauses.
> 
> Perhaps something like this exists somewhere? If not, any pointers for where 
> to start, since I'm not
> intimately familiar with the Scorer/Weight APIs?
> 
> --
> Jan Høydahl, search solution architect
> Cominvent AS - www.cominvent.com
> Solr Training - www.solrtraining.com 

Reply via email to