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