So if I want to configure Solr to turn every query q=foo into q={!boost 
b=log(popularity)}foo, dismax wouldn't work but edismax would?

If that's the case, can you tell me how to set up/use edismax? I can't find 
much documentation on it. Is it recommended for production use?


--- On Wed, 1/6/10, Yonik Seeley <yo...@lucidimagination.com> wrote:

From: Yonik Seeley <yo...@lucidimagination.com>
Subject: Re: DisMaxRequestHandler bf configuration
To: solr-user@lucene.apache.org
Date: Wednesday, January 6, 2010, 7:09 PM

On Wed, Jan 6, 2010 at 2:43 AM, Andy <angelf...@yahoo.com> wrote:
> I'd like to boost every query using {!boost b=log(popularity)}. But I'd 
> rather not have to prepend that to every query. It'd be much cleaner for me 
> to configure Solr to use that as default.
>
> My plan is to make DisMaxRequestHandler the default handler and add the 
> following to solrconfig.xml:
>
> <requestHandler name="dismax" class="solr.SearchHandler" default="true" >
>     <lst name="defaults">
>      <str name="defType">dismax</str>
>      <str name="echoParams">explicit</str>
>      <float name="tie">0.01</float>
>      <str name="bf">
>         log(popularity)
>      </str>
>     </lst>
> </requestHandler>
>
> Is this the correct way to do it?

bf adds in the function query
{!boost} multiples the function query
In the new edismax (which may replace dismax soon) you can specify the
multiplicative boost via
&boost=log(popularity)


-Yonik
http://www.lucidimagination.com



      

Reply via email to