DisjunctionMax takes the max score of a disjuction... and max across
all fields was slightly higher for the first match.

Try setting "tie" higher....  (add tie=0.2 to your query or to the
defaults in your request handler).
http://wiki.apache.org/solr/DisMaxRequestHandler

-Yonik

On Wed, Jan 21, 2009 at 1:18 PM, Jeff Newburn <jnewb...@zappos.com> wrote:
> Can someone please make sense of why the following occurs in our system.
> The first item barely matches but scores higher than the second one that
> matches all over the place.  The second one is a MUCH better match but has a
> worse score. These are in the same query results.  All I can see are the
> norms but don¹t know how to fix that.
>
> Parsed Query Info
>  <str name="parsedquery">+((DisjunctionMaxQuery((realBrandName:brown |
> subCategory:brown^20.0 | productDescription:brown | width:brown |
> personality:brown^10.0 | brandName:brown | productType:brown^8.0 |
> productId:brown^10.0 | size:brown^1.2 | category:brown^10.0 | price:brown |
> productNameSearch:brown | heelHeight:brown | color:brown^10.0 |
> attrs:brown^5.0 | expandedGender:brown^0.5)~0.01)
> DisjunctionMaxQuery((realBrandName:shoe | subCategory:shoe^20.0 |
> productDescription:shoe | width:shoes | personality:shoe^10.0 |
> brandName:shoe | productType:shoe^8.0 | productId:shoes^10.0 |
> size:shoes^1.2 | category:shoe^10.0 | price:shoes | productNameSearch:shoe |
> heelHeight:shoes | color:shoe^10.0 | attrs:shoe^5.0 |
> expandedGender:shoes^0.5)~0.01))~2)
> DisjunctionMaxQuery((realBrandName:"brown shoe"~1^10.0 | category:"brown
> shoe"~1^10.0 | productNameSearch:"brown shoe"~1 | productDescription:"brown
> shoe"~1^2.0 | subCategory:"brown shoe"~1^20.0 | personality:"brown
> shoe"~1^2.0 | brandName:"brown shoe"~1^10.0 | productType:"brown
> shoe"~1^8.0)~0.01)</str>
>  <str name="parsedquery_toString">+(((realBrandName:brown |
> subCategory:brown^20.0 | productDescription:brown | width:brown |
> personality:brown^10.0 | brandName:brown | productType:brown^8.0 |
> productId:brown^10.0 | size:brown^1.2 | category:brown^10.0 | price:brown |
> productNameSearch:brown | heelHeight:brown | color:brown^10.0 |
> attrs:brown^5.0 | expandedGender:brown^0.5)~0.01 (realBrandName:shoe |
> subCategory:shoe^20.0 | productDescription:shoe | width:shoes |
> personality:shoe^10.0 | brandName:shoe | productType:shoe^8.0 |
> productId:shoes^10.0 | size:shoes^1.2 | category:shoe^10.0 | price:shoes |
> productNameSearch:shoe | heelHeight:shoes | color:shoe^10.0 | attrs:shoe^5.0
> | expandedGender:shoes^0.5)~0.01)~2) (realBrandName:"brown shoe"~1^10.0 |
> category:"brown shoe"~1^10.0 | productNameSearch:"brown shoe"~1 |
> productDescription:"brown shoe"~1^2.0 | subCategory:"brown shoe"~1^20.0 |
> personality:"brown shoe"~1^2.0 | brandName:"brown shoe"~1^10.0 |
> productType:"brown shoe"~1^8.0)~0.01</str>
>
>
> DebugQuery Info
>
>  <str name="38959">
> 0.45851633 = (MATCH) sum of:
>  0.45851633 = (MATCH) sum of:
>    0.19769925 = (MATCH) max plus 0.01 times others of:
>      0.19769925 = (MATCH) weight(color:brown^10.0 in 1407), product of:
>        0.06819186 = queryWeight(color:brown^10.0), product of:
>          10.0 = boost
>          2.8991618 = idf(docFreq=19348, numDocs=129257)
>          0.0023521234 = queryNorm
>        2.8991618 = (MATCH) fieldWeight(color:brown in 1407), product of:
>          1.0 = tf(termFreq(color:brown)=1)
>          2.8991618 = idf(docFreq=19348, numDocs=129257)
>          1.0 = fieldNorm(field=color, doc=1407)
>    0.26081708 = (MATCH) max plus 0.01 times others of:
>      0.26081708 = (MATCH) weight(subCategory:shoe^20.0 in 1407), product
> of:
>        0.14011127 = queryWeight(subCategory:shoe^20.0), product of:
>          20.0 = boost
>          2.9783995 = idf(docFreq=17874, numDocs=129257)
>          0.0023521234 = queryNorm
>        1.8614997 = (MATCH) fieldWeight(subCategory:shoe in 1407), product
> of:
>          1.0 = tf(termFreq(subCategory:shoe)=1)
>          2.9783995 = idf(docFreq=17874, numDocs=129257)
>          0.625 = fieldNorm(field=subCategory, doc=1407)
>
> </str>
>  <str name="692583">
> 0.4086538 = (MATCH) sum of:
>  0.4086538 = (MATCH) sum of:
>    0.19769925 = (MATCH) max plus 0.01 times others of:
>      0.19769925 = (MATCH) weight(color:brown^10.0 in 75829), product of:
>        0.06819186 = queryWeight(color:brown^10.0), product of:
>          10.0 = boost
>          2.8991618 = idf(docFreq=19348, numDocs=129257)
>          0.0023521234 = queryNorm
>        2.8991618 = (MATCH) fieldWeight(color:brown in 75829), product of:
>          1.0 = tf(termFreq(color:brown)=1)
>          2.8991618 = idf(docFreq=19348, numDocs=129257)
>          1.0 = fieldNorm(field=color, doc=75829)
>    0.21095455 = (MATCH) max plus 0.01 times others of:
>      0.20865366 = (MATCH) weight(subCategory:shoe^20.0 in 75829), product
> of:
>        0.14011127 = queryWeight(subCategory:shoe^20.0), product of:
>          20.0 = boost
>          2.9783995 = idf(docFreq=17874, numDocs=129257)
>          0.0023521234 = queryNorm
>        1.4891998 = (MATCH) fieldWeight(subCategory:shoe in 75829), product
> of:
>          1.0 = tf(termFreq(subCategory:shoe)=1)
>          2.9783995 = idf(docFreq=17874, numDocs=129257)
>          0.5 = fieldNorm(field=subCategory, doc=75829)
>      0.028179625 = (MATCH) weight(productType:shoe^8.0 in 75829), product
> of:
>        0.029127462 = queryWeight(productType:shoe^8.0), product of:
>          8.0 = boost
>          1.5479344 = idf(docFreq=74728, numDocs=129257)
>          0.0023521234 = queryNorm
>        0.967459 = (MATCH) fieldWeight(productType:shoe in 75829), product
> of:
>          1.0 = tf(termFreq(productType:shoe)=1)
>          1.5479344 = idf(docFreq=74728, numDocs=129257)
>          0.625 = fieldNorm(field=productType, doc=75829)
>      0.059330944 = (MATCH) weight(category:shoe^10.0 in 75829), product of:
>        0.04725314 = queryWeight(category:shoe^10.0), product of:
>          10.0 = boost
>          2.0089567 = idf(docFreq=47126, numDocs=129257)
>          0.0023521234 = queryNorm
>        1.255598 = (MATCH) fieldWeight(category:shoe in 75829), product of:
>          1.0 = tf(termFreq(category:shoe)=1)
>          2.0089567 = idf(docFreq=47126, numDocs=129257)
>          0.625 = fieldNorm(field=category, doc=75829)
>      0.14257748 = (MATCH) weight(attrs:shoe^5.0 in 75829), product of:
>        0.07325133 = queryWeight(attrs:shoe^5.0), product of:
>          5.0 = boost
>          6.228528 = idf(docFreq=692, numDocs=129257)
>          0.0023521234 = queryNorm
>        1.946415 = (MATCH) fieldWeight(attrs:shoe in 75829), product of:
>          1.0 = tf(termFreq(attrs:shoe)=1)
>          6.228528 = idf(docFreq=692, numDocs=129257)
>          0.3125 = fieldNorm(field=attrs, doc=75829)
>
>

Reply via email to