Re: debugQuery different score for same query. dismax
On Mon, Oct 5, 2009 at 4:42 AM, Julian Davchev wrote: > Well, > Any explanation why I get different scores then? I didn't have enough context to see if anything was wrong... by "different scores" do you mean that the debugQuery scores don't match with the scores in the main document list? That would be a bug. But I suspect you just mean that different documents score differently... that's what is supposed to happen. In your diff, I see a different fieldNorm factor, which probably means that the length of the fields are just different. Sure enough, that explains the different scores: 3.7137468 * .375 / .4375 = 3.1832115 If you don't want length normalization for this field, turn it off by setting omitNorms=true -Yonik http://www.lucidimagination.com > Yonik Seeley wrote: >> On Fri, Oct 2, 2009 at 8:16 AM, Julian Davchev wrote: >> >>> It looks for "pari" in ancestorName field but first row looks in >>> 241135 records >>> and the second row it's just 187821 records. >>> >> >> The "in 241135" is just saying that this match is in document #241135. >> >> -Yonik >> http://www.lucidimagination.com >> >> >> >>> Which in results give >>> lower score for the second row. >>> >>> Question is what is affecting this thingy cause I would expect same >>> fieldname same value to give same score. >>> >>> It's dismax query...I skipped showing scoring of other fields to simplify. >>> >>> Cheers >>> >>> >>> -3.7137468 = (MATCH) weight(ancestorName:pari^35.0 in 241135), product of: >>> +3.1832116 = (MATCH) weight(ancestorName:pari^35.0 in 187821), product of: >>> 0.8593 = queryWeight(ancestorName:pari^35.0), product of: >>> 35.0 = boost >>> 8.488684 = idf(docFreq=148, numDocs=74979) >>> 0.0033657781 = queryNorm >>> - 3.713799 = (MATCH) fieldWeight(ancestorName:pari in 241135), >>> product of: >>> + 3.1832564 = (MATCH) fieldWeight(ancestorName:pari in 187821), >>> product of: >>> 1.0 = tf(termFreq(ancestorName:pari)=1) >>> 8.488684 = idf(docFreq=148, numDocs=74979) >>> -0.4375 = fieldNorm(field=ancestorName, doc=241135) >>> +0.375 = fieldNorm(field=ancestorName, doc=187821) >>> >>> > >
Re: debugQuery different score for same query. dismax
Well, Any explanation why I get different scores then? Yonik Seeley wrote: > On Fri, Oct 2, 2009 at 8:16 AM, Julian Davchev wrote: > >> It looks for "pari" in ancestorName field but first row looks in >> 241135 records >> and the second row it's just 187821 records. >> > > The "in 241135" is just saying that this match is in document #241135. > > -Yonik > http://www.lucidimagination.com > > > >> Which in results give >> lower score for the second row. >> >> Question is what is affecting this thingy cause I would expect same >> fieldname same value to give same score. >> >> It's dismax query...I skipped showing scoring of other fields to simplify. >> >> Cheers >> >> >> -3.7137468 = (MATCH) weight(ancestorName:pari^35.0 in 241135), product of: >> +3.1832116 = (MATCH) weight(ancestorName:pari^35.0 in 187821), product of: >> 0.8593 = queryWeight(ancestorName:pari^35.0), product of: >> 35.0 = boost >> 8.488684 = idf(docFreq=148, numDocs=74979) >> 0.0033657781 = queryNorm >> -3.713799 = (MATCH) fieldWeight(ancestorName:pari in 241135), >> product of: >> +3.1832564 = (MATCH) fieldWeight(ancestorName:pari in 187821), >> product of: >> 1.0 = tf(termFreq(ancestorName:pari)=1) >> 8.488684 = idf(docFreq=148, numDocs=74979) >> -0.4375 = fieldNorm(field=ancestorName, doc=241135) >> +0.375 = fieldNorm(field=ancestorName, doc=187821) >> >>
Re: debugQuery different score for same query. dismax
On Fri, Oct 2, 2009 at 8:16 AM, Julian Davchev wrote: > It looks for "pari" in ancestorName field but first row looks in > 241135 records > and the second row it's just 187821 records. The "in 241135" is just saying that this match is in document #241135. -Yonik http://www.lucidimagination.com > Which in results give > lower score for the second row. > > Question is what is affecting this thingy cause I would expect same > fieldname same value to give same score. > > It's dismax query...I skipped showing scoring of other fields to simplify. > > Cheers > > > -3.7137468 = (MATCH) weight(ancestorName:pari^35.0 in 241135), product of: > +3.1832116 = (MATCH) weight(ancestorName:pari^35.0 in 187821), product of: > 0.8593 = queryWeight(ancestorName:pari^35.0), product of: > 35.0 = boost > 8.488684 = idf(docFreq=148, numDocs=74979) > 0.0033657781 = queryNorm > - 3.713799 = (MATCH) fieldWeight(ancestorName:pari in 241135), > product of: > + 3.1832564 = (MATCH) fieldWeight(ancestorName:pari in 187821), > product of: > 1.0 = tf(termFreq(ancestorName:pari)=1) > 8.488684 = idf(docFreq=148, numDocs=74979) > -0.4375 = fieldNorm(field=ancestorName, doc=241135) > +0.375 = fieldNorm(field=ancestorName, doc=187821) >
debugQuery different score for same query. dismax
Hi, I run debug on a query to examine the score as I was surprised of results. Here is the diff of same explain section of two different rows that I found troubling. It looks for "pari" in ancestorName field but first row looks in 241135 records and the second row it's just 187821 records. Which in results give lower score for the second row. Question is what is affecting this thingy cause I would expect same fieldname same value to give same score. It's dismax query...I skipped showing scoring of other fields to simplify. Cheers -3.7137468 = (MATCH) weight(ancestorName:pari^35.0 in 241135), product of: +3.1832116 = (MATCH) weight(ancestorName:pari^35.0 in 187821), product of: 0.8593 = queryWeight(ancestorName:pari^35.0), product of: 35.0 = boost 8.488684 = idf(docFreq=148, numDocs=74979) 0.0033657781 = queryNorm -3.713799 = (MATCH) fieldWeight(ancestorName:pari in 241135), product of: +3.1832564 = (MATCH) fieldWeight(ancestorName:pari in 187821), product of: 1.0 = tf(termFreq(ancestorName:pari)=1) 8.488684 = idf(docFreq=148, numDocs=74979) -0.4375 = fieldNorm(field=ancestorName, doc=241135) +0.375 = fieldNorm(field=ancestorName, doc=187821)