I replaced the frange filter with the following filter and got the correct no. of results and it was 3X faster:
select?qq={!edismax v='news' qf='title^2 body'}&scaledQ=scale(product(query($qq),1),0,1)&q={!func}sum(product(0.75,$scaledQ),product(0.25,field(myfield)))&fq={!edismax v='news' qf='title^2 body'} Then, I tried to simplify the query with parameter substitution, but 'fq' didn't parse correctly: select?qq={!edismax v='news' qf='title^2 body'}&scaledQ=scale(product(query($qq),1),0,1)&q={!func}sum(product(0.75,$scaledQ),product(0.25,field(myfield)))&fq=$qq What is the proper syntax? Thanks, Peter On Thu, Nov 7, 2013 at 2:16 PM, Peter Keegan <peterlkee...@gmail.com> wrote: > I'm trying to used a normalized score in a query as I described in a > recent thread titled "Re: How to get similarity score between 0 and 1 not > relative score" > > I'm using this query: > select?qq={!edismax v='news' qf='title^2 > body'}&scaledQ=scale(product(query($qq),1),0,1)&q={!func}sum(product(0.75,$scaledQ),product(0.25,field(myfield)))&fq={!frange > l=0.001}$q > > Is there another way to accomplish this using dismax boosting? > > > > On Thu, Nov 7, 2013 at 12:55 PM, Jason Hellman < > jhell...@innoventsolutions.com> wrote: > >> You can, of course, us a function range query: >> >> select?q=text:news&fq={!frange l=0 u=100}sum(x,y) >> >> >> http://lucene.apache.org/solr/4_5_1/solr-core/org/apache/solr/search/FunctionRangeQParserPlugin.html >> >> This will give you a bit more flexibility to meet your goal. >> >> On Nov 7, 2013, at 7:26 AM, Erik Hatcher <erik.hatc...@gmail.com> wrote: >> >> > Function queries score (all) documents, but don't filter them. All >> documents effectively match a function query. >> > >> > Erik >> > >> > On Nov 7, 2013, at 1:48 PM, Peter Keegan <peterlkee...@gmail.com> >> wrote: >> > >> >> Why does this function query return docs that don't match the embedded >> >> query? >> >> select?qq=text:news&q={!func}sum(query($qq),0) >> > >> >> >