Hi,

When I examine the score calculation of DisMax in Solr,   it looks to me
that DisMax is using  tf x idf^2 instead of tf x idf.
Does anyone have insight why tf x idf is not used here?

Here is the score contribution from one one field:

score(q,c) =  queryWeight x fieldWeight
               = tf x idf x idf x queryNorm x fieldNorm

Here is the example that I used to derive the formula above. Clearly, idf is
multiplied twice in the score calculation.
*
http://localhost:8983/solr/select/?q=GB&version=2.2&start=0&rows=10&indent=on&debugQuery=true&fl=id,score
*

    <str name="6H500F0">
0.18314168 = (MATCH) sum of:
  0.18314168 = (MATCH) weight(text:gb in 1), product of:
    0.35845062 = queryWeight(text:gb), product of:
      2.3121865 = idf(docFreq=6, numDocs=26)
      0.15502669 = queryNorm
    0.5109258 = (MATCH) fieldWeight(text:gb in 1), product of:
      1.4142135 = tf(termFreq(text:gb)=2)
      2.3121865 = idf(docFreq=6, numDocs=26)
      0.15625 = fieldNorm(field=text, doc=1)
</str>


Thanks!

Reply via email to