As I understand it, the bq parameter is a full Lucene query, but only used for ranking, not for selection. This is the complement of fq.
You can use weighting: provider:fred^8 This will be affected by idf, so providers with fewer matches will have higher weight than those with more matches. This is a bother, but the idf-free approach requires Solr 4.0. wunder On Jan 17, 2013, at 10:31 PM, Shawn Heisey wrote: > I did try the bq parameter. Either I'm not using it correctly, or it's not > making a noticeable difference. I was not able to find any good docs, > either. Can you give me complete instructions in its use? Can I control the > boost factor? Is the boost additive or multiplicative? > > For query elevation, don't you have to know in advance the query that a user > will send? There's no way for me to know this - we want to be able to apply > the boost to arbitrary queries. > > The source data comes from MySQL, and this is a seven-shard distributed index > with 74075200 documents as of a few minutes ago. Although ExternalFileField > probably wouldn't be impossible, it is rather impractical. > > Thanks, > Shawn > > On 1/17/2013 10:53 PM, Walter Underwood wrote: >> Have you tried boost query? bq=provider:fred >> >> wunder >> >> On Jan 17, 2013, at 9:08 PM, Jack Krupansky wrote: >> >>> Start with "Query Elevation" and see if that helps: >>> http://wiki.apache.org/solr/QueryElevationComponent >>> >>> Index-time document boost is a possibility. >>> >>> Maybe an ExternalFileField where every document could have a dynamic boost >>> value that you add with a boost function. >>> >>> -- Jack Krupansky >>> >>> -----Original Message----- From: Shawn Heisey >>> Sent: Thursday, January 17, 2013 4:11 PM >>> To: solr-user@lucene.apache.org >>> Subject: Questions about boosting >>> >>> I've been trying to figure this out on my own, but I've come up empty so >>> far. I need to boost documents from a certain provider. The idea is >>> that if any documents in a result match a separate query (like >>> provider:bigbucks), I need to multiply the score by X. It's important >>> that the result set of the actual query is not changed, just the order. >