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) > >