You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by ram_sj <rp...@gmail.com> on 2009/09/04 21:01:47 UTC

dismax matches & ranking

Hi I have following questions about dismax query handler? someone can clarify
me about it.

1. dismax query handler and filter query (fq)

if query= coffee , fq= yiw_bus_city: san jose, 

I get 0 results for this query again, but this one works fine, If mention
qt=standard query handler

2. dismax and ranking

q=san jose 

but my collection have more document for San Francisco, less for San Jose,

a. i get san francisco listed or listed before san jose some time, i guess
this is because of the term frequency of "san francisco",

how can I present the results for the exact query match first? , I don't
want to manually boost the particular keyword for some reason. listing the
exact matches first and following by other results will be good.


configs:

<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="qf">
        yiw_bus_name^1.0 yiw_bus_city^1.0 yiw_bus_ps_info^0.2
yiw_bus_description^0.2 yiw_bus_general_information^0.2 yiw_bus_zip^0.5
yiw_bus_street^0.5
      </str>
      <str name="pf">
        yiw_bus_city^1.0 yiw_bus_zip^0.5 yiw_bus_street^0.5
      </str>
      <str name="bf">
        ord(yiw_bus_name)^0.5 recip(rord(yiw_bus_city),1,1000,1000)^0.3
      </str>
      <!-- 
     <str name="fl"></str>
     -->
      <str name="mm">
        2&lt;-1 5&lt;-2 6&lt;70%
      </str>
      <int name="ps">100</int>
      <str name="q.alt">*:*</str>
      <!-- example highlighter config, enable per-query with hl=true -->
      <str name="hl.fl"></str>
      <!-- for this field, we want no fragmenting, just highlighting -->
      <str name="f.name.hl.fragsize">0</str>
      <!-- instructs Solr to return the field itself if no query terms are
          found -->
      <str name="f.name.hl.alternateField">yiw_bus_name</str>
      <str name="f.text.hl.fragmenter">regex</str>
      <!-- defined below -->
    </lst>
  </requestHandler>

schema:

<field name="yiw_bus_general_information" type="text" indexed="true"
stored="true" default="NA" />
    <field name="yiw_bus_ps_info" type="string" indexed="true" stored="true"
default="NA" />
    <field name="yiw_bus_city" type="string" indexed="true" stored="true"
multiValued="false" default="NA" />
    <field name="yiw_bus_state" type="string" indexed="true" stored="true"
multiValued="false" default="NA" />
    <field name="yiw_bus_country" type="string" indexed="true" stored="true"
multiValued="false" default="NA" />
    <field name="yiw_bus_street" type="string" indexed="true" stored="true"
multiValued="false" default="NA" />
    <field name="yiw_bus_zip" type="string"   indexed="true"  stored="true"
multiValued="false" default="0" />
    






 
-- 
View this message in context: http://www.nabble.com/dismax-matches---ranking-tp25300011p25300011.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: dismax matches & ranking

Posted by Chris Hostetter <ho...@fucit.org>.
: 1. dismax query handler and filter query (fq)
: 
: if query= coffee , fq= yiw_bus_city: san jose, 
: 
: I get 0 results for this query again, but this one works fine, If mention
: qt=standard query handler

with qt=standard this is matching whatever your defaultSearchField is 
configured to be ... if that field isn't in the "qf" for your dismax 
handler, that would explain why dismax doesn't find it.

: 2. dismax and ranking
: 
: q=san jose 
: 
: but my collection have more document for San Francisco, less for San Jose,
: 
: a. i get san francisco listed or listed before san jose some time, i guess
: this is because of the term frequency of "san francisco",

it's hard to say without looking ath te score expalinations for documents 
that score high (even though you don't want them to) and the explanations 
for documents that score low (even though you wnat them high) ... more 
then likely you should be using more fields with bigger boosts in your 
"pf" so that documents are heavily rewarded when they match the full query 
string exactly.


-Hoss