Any help on this? I am really stuck on a client project. I need to know how scoring works with wildcard queries under SOLR 3.2.
Thanks Bob On Mon, Mar 5, 2012 at 4:22 PM, Robert Stewart <bstewart...@gmail.com> wrote: > How is scoring affected by wildcard queries? Seems when I use a > wildcard query I get all constant scores in response (all scores = > 1.0). That occurs with both edismax as well as lucene query parser. > I am trying to implement auto-suggest feature so I need to use wild > card to return all results that match the prefix entered by a user. > But I want the results sorted according to score defined by the "qf" > parameter in my search handler. > > ?defType=edismax&q=grow*&fl=title,score > > <result name="response" numFound="11" start="0" maxScore="1.0"> > <doc> > <float name="score">1.0</float> > <arr name="title"> > <str>S&P 1000 Growth</str> > </arr> > </doc> > <doc> > <float name="score">1.0</float> > <arr name="title"> > <str>S&P 1000 Pure Growth</str> > </arr> > </doc> > > > ?defType=lucene&q=grow*&fl=title,score > > <result name="response" numFound="11" start="0" maxScore="1.0"> > <doc> > <float name="score">1.0</float> > <arr name="title"> > <str>S&P 1000 Growth</str> > </arr> > </doc> > <doc> > <float name="score">1.0</float> > <arr name="title"> > <str>S&P 1000 Pure Growth</str> > </arr> > </doc> > > If I use query with no wildcard, scoring appears correct: > > ?defType=edismax&q=growth&fl=title,score > > <result name="response" numFound="11" start="0" maxScore="0.7500377"> > <doc> > <float name="score">0.7500377</float> > <arr name="title"> > <str>S&P 1000 Growth</str> > </arr> > </doc> > <doc> > <float name="score">0.7500377</float> > <arr name="title"> > <str>S&P 500 Growth</str> > </arr> > </doc> > <doc> > <float name="score">0.656283</float> > <arr name="title"> > <str>S&P 1000 Pure Growth</str> > </arr> > </doc> > > I am using SOLR version 3.2 and using a request handler defined like this: > > <requestHandler name="/idxsuggest" class="solr.SearchHandler"> > <lst name="defaults"> > <str name="echoParams">explicit</str> > <int name="rows">10</int> > <str name="defType">edismax</str> > <str name="q">*:*</str> > <str name="qf"> > ticker^10.0 indexCode^10.0 indexKey^10.0 title^5.0 > indexName^5.0 > </str> > <str > name="fl">indexId,indexName,indexCode,indexKey,title,ticker,urlTitle</str> > </lst> > <lst name="appends"> > <!-- Filter out documents that are not published yet and > that are not yet expired --> > <str name="fq">+contentType:IndexProfile</str> > </lst> > </requestHandler>