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 escher2k <es...@yahoo.com> on 2007/04/26 20:08:26 UTC

Additive scoring using Dismax...

I am trying to search across multiple fields using the AND operator. Somehow,
when the results
are returned, the score seems to be retrieving the max value and not really
adding them up. In
the example given below, the value that is returned (825) is really the max
instead of what
I was expecting (1597.5 = 22.5 + 825 + 150 + 600).  

Is there any way to get the additive effect ? I thought using AND would do
it. Thanks a lot.

Relevant section of schema.xml:
 <uniqueKey>uniq_id</uniqueKey>
 <defaultSearchField>skills</defaultSearchField>
 <solrQueryParser defaultOperator="AND"/>
 <similarity class="ProviderSimilarity"/>

Results for a given field:
<str name="id=300723_1843624_10183,internal_docid=36638">
825.0 = (MATCH) sum of: 825.0 = (MATCH) max of: 
22.5 = (MATCH) fieldWeight(dtl_svc_descr:php in 36638), product of: 15.0 =
tf(termFreq(dtl_svc_descr:php)=1) 1.0 = idf(docFreq=9473) 1.5 =
fieldNorm(field=dtl_svc_descr, doc=36638) 
825.0 = (MATCH) fieldWeight(past_proj_descr:php in 36638), product of: 550.0
= tf(termFreq(past_proj_descr:php)=17) 1.0 = idf(docFreq=827) 1.5 =
fieldNorm(field=past_proj_descr, doc=36638) 
150.0 = (MATCH) fieldWeight(tagline:php in 36638), product of: 100.0 =
tf(termFreq(tagline:php)=1) 1.0 = idf(docFreq=881) 1.5 =
fieldNorm(field=tagline, doc=36638) 
600.0 = (MATCH) fieldWeight(past_proj_name:php in 36638), product of: 400.0
= tf(termFreq(past_proj_name:php)=5) 1.0 = idf(docFreq=301) 1.5 =
fieldNorm(field=past_proj_name, doc=36638)
</str> 

-- 
View this message in context: http://www.nabble.com/Additive-scoring-using-Dismax...-tf3653265.html#a10205762
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Additive scoring using Dismax...

Posted by Chris Hostetter <ho...@fucit.org>.
: AND does not controll scoring, only matching.  If you want dismax to
: be purely additive, pass tie=1.0 to the handler.

more specificly: the defaultOperator option in the schema.xml does not
affect the dismax parser used on the q param at all (only the stock
SolrQueryParser used for things like the the fq and bq params)



-Hoss


Re: Additive scoring using Dismax...

Posted by Mike Klaas <mi...@gmail.com>.
On 4/26/07, escher2k <es...@yahoo.com> wrote:
>
> I am trying to search across multiple fields using the AND operator. Somehow,
> when the results
> are returned, the score seems to be retrieving the max value and not really
> adding them up. In
> the example given below, the value that is returned (825) is really the max
> instead of what
> I was expecting (1597.5 = 22.5 + 825 + 150 + 600).
>
> Is there any way to get the additive effect ? I thought using AND would do
> it. Thanks a lot.

AND does not controll scoring, only matching.  If you want dismax to
be purely additive, pass tie=1.0 to the handler.

-Mike