You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by ka...@nokia.com on 2011/01/20 20:17:27 UTC

Odd Boolean scoring behavior?

Hi,

I'm seeing non-expected results from a Boolean query with a boost, and I wondered if either I'm doing something wrong, or there's a bug.

The way I'm constructing  the query is as follows:

...
     // basic OR boost(basic AND language=xxx)
     Query languageClause = new TermQuery(VALUE_LANGUAGE.createTerm(language));

     // Do the AND
     BooleanQuery andQuery = new BooleanQuery();
     andQuery.setBoost(LANGUAGE_BOOST);
     andQuery.add(languageClause,BooleanClause.Occur.MUST);
     andQuery.add(basic,BooleanClause.Occur.MUST);

     // Do the final OR
     BooleanQuery orQuery = new BooleanQuery();
     orQuery.add(andQuery,BooleanClause.Occur.SHOULD);
     orQuery.add(basic,BooleanClause.Occur.SHOULD);

     return orQuery;

The idea is that records that match the specified language get boosted, but nevertheless ALL records are still returned.
The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any effect.  I can change it all over the place, and nothing much changes.

I wonder if there's some optimization in BooleanScorer or BooleanScorer2 that ignores boost in cases like this.  Is that true, and if so, how do I get
around it?

Karl


Re: Odd Boolean scoring behavior?

Posted by Simon Willnauer <si...@googlemail.com>.
On Fri, Jan 21, 2011 at 11:36 AM, Uwe Schindler <uw...@thetaphi.de> wrote:
> BTW: What is CutOffQueryWrapper?
its an application internal class though....

simon
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: uwe@thetaphi.de
>
>
>> -----Original Message-----
>> From: karl.wright@nokia.com [mailto:karl.wright@nokia.com]
>> Sent: Friday, January 21, 2011 11:26 AM
>> To: dev@lucene.apache.org
>> Subject: RE: Odd Boolean scoring behavior?
>>
>> Turns out that I inadvertently reverted one of Simon's changes to
>> CutoffQueryWrapper, which explains the second effect.  So all is now well.
>>
>> Thanks for your assistance!
>> Karl
>>
>> ________________________________________
>> From: Wright Karl (Nokia-MS/Boston)
>> Sent: Thursday, January 20, 2011 9:44 PM
>> To: dev@lucene.apache.org
>> Subject: RE: Odd Boolean scoring behavior?
>>
>> Found the cause of the zero querynorms, and fixed it.  But the results are
> still
>> not as I would expect.  The first result has language=ger but scores
> higher
>> than the second result which has language=eng.  And yet, my query is
>> boosting like this:
>>
>> Boolean
>>  OR Boolean (boost = 100.0)
>>   AND (language:eng)
>>   AND (stuff)
>>  OR (stuff)
>>
>> ... where (stuff) is the same stuff in both cases.
>>
>> Here's the scoring for two results, the first one out of language, and the
>> second one in language:
>>
>> 0.018082526 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@6cdcb5eb sum of:
>>   0.018059647 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@e2b8f23 sum of:
>>     0.015771711 = (MATCH) weight(language:eng in 52867945), product of:
>>       0.015771711 = queryWeight(language:eng), product of:
>>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>>         0.015771711 = queryNorm
>>       1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>>         1.0 = tf(termFreq(language:eng)=0)
>>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>>         1.0 = fieldNorm(field=language, doc=52867945)
>>     0.0022879362 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 product
>> of:
>>       0.331206 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 sum of:
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
>> product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.875), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.875), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
>> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
>> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
>> 4)^0.5555556), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
>> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
>> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
>> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
>> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
>> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
>> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
>> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
>> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
>> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
>> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
>> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
>> product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
>> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
>> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
>> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
>> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
>> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
>> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
>> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
>> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
>> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
>> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
>> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
>> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
>> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
>> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((othervalue_5:hillmonument
>> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667)), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667))^0.85714287), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
>> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
>> product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>       0.0069078947 = coord(21/3040)
>>   2.287936E-5 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb
>> product of:
>>     0.0033120597 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb sum of:
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
>> product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.875), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.875), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
>> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
>> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
>> 4)^0.5555556), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
>> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
>> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
>> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
>> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
>> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
>> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
>> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
>> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
>> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
>> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
>> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
>> product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:monument
>> othervalue_5:monumento^7.9949305E-4
>> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
>> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
>> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
>> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
>> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
>> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
>> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
>> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
>> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
>> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
>> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
>> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
>> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
>> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
>> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((othervalue_5:hillmonument
>> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667)), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667))^0.85714287), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
>> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
>> product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>     0.0069078947 = coord(21/3040)
>>
>> And the second one:
>>
>> 0.01596035 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@5a85ce81 sum of:
>>   0.015958482 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@6b8a595 sum of:
>>     0.015771711 = (MATCH) weight(language:eng in 52772845), product of:
>>       0.015771711 = queryWeight(language:eng), product of:
>>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>>         0.015771711 = queryNorm
>>       1.0 = (MATCH) fieldWeight(language:eng in 52772845), product of:
>>         1.0 = tf(termFreq(language:eng)=1)
>>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>>         1.0 = fieldNorm(field=language, doc=52772845)
>>     1.8677025E-4 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5
>> product of:
>>       0.094630264 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 sum of:
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
>> product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
>> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
>> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
>> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
>> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
>> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
>> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
>> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
>> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
>> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
>> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
>> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
>> product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>         0.015771711 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667)), product of:
>>           1.0 = boost
>>           0.015771711 = queryNorm
>>       0.0019736842 = coord(6/3040)
>>   1.8677025E-6 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 product
>> of:
>>     9.463026E-4 = (MATCH)
>> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 sum of:
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
>> 4))^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
>> +(value_5:monument value_5:monumenta^7.9949305E-4
>> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
>> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
>> product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
>> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
>> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
>> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
>> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
>> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
>> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
>> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
>> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
>> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
>> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
>> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
>> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
>> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
>> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
>> product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>       1.577171E-4 = (MATCH)
>> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +((value_5:hillmonument
>> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
>> 4)^0.6666667)), product of:
>>         1.0 = boost
>>         1.577171E-4 = queryNorm
>>     0.0019736842 = coord(6/3040)
>>
>> As you can see, the queryNorm in both (stuff) clauses is now consistent
> with
>> the boost.  What I don't understand is why the first score winds up being
>> lower than the second despite the boost.  Maybe it's just late and I don't
> see
>> it, but it looks to me like for scoring the language clause is operating
>> essentially independently of the Boolean AND clause, so my query construct
>> just isn't going to do what I hoped.
>>
>> Thoughts?  If I'm right, how *could* I do what I'm trying to do?
>> Karl
>>
>>
>> -----Original Message-----
>> From: Wright Karl (Nokia-MS/Boston)
>> Sent: Thursday, January 20, 2011 7:49 PM
>> To: dev@lucene.apache.org; yonik@lucidimagination.com
>> Subject: RE: Odd Boolean scoring behavior?
>>
>> So I think I understand where the blank values and repeats come from.
>> Those are the expansions of fuzzy queries against fields that have no
>> matches whatsoever for the fuzzy values in question. So those are indeed
>> OK.
>>
>> I guess then that the problem is that the scoring explanation makes no
>> sense.  I'm going to pick that apart and see why not next.
>>
>> Karl
>>
>> -----Original Message-----
>> From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com]
>> Sent: Thursday, January 20, 2011 5:31 PM
>> To: dev@lucene.apache.org; yonik@lucidimagination.com
>> Subject: RE: Odd Boolean scoring behavior?
>>
>> The original query is fine, and has the boost as expected:
>>
>> ((+language:eng +(
>>     CutoffQueryWrapper((+value_0:bunker~0.8332333
>> +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
>> +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+value_0:bunker~0.8332333
>> +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+value_1:bunker~0.8332333
>> +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+othervalue_1:bunker~0.8332333
>> +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+value_1:bunker~0.8332333
>> +othervalue_0:hill)^0.5714286) ...
>>     CutoffQueryWrapper((+othervalue_7:bunker~0.8332333
>> +value_7:hillmonument~0.8332333)^0.85714287)
>>     CutoffQueryWrapper((+value_7:bunker~0.8332333
>> +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
>> (
>>     CutoffQueryWrapper((+value_0:bunker~0.8332333
>> +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
>> +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+value_0:bunker~0.8332333
>> +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+value_1:bunker~0.8332333
>> +value_0:hill)^0.6666667) ...
>> ))
>>
>> The rewritten query is odd.  Here's a sample:
>>
>>
>> ((+language:eng +(
>>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
>> +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>>
>> ...
>>
>>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
>> (
>>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
>> +value_0:hill)^0.6666667)
>>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286) ...
>>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
>>     CutoffQueryWrapper(+() +(()^0.6666667))
>>     CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287)
>>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
>> )
>>
>> As you can see, there are a lot of repeats, a lot of blank matches, but
> the
>> original boost *is* still there.  I really can't interpret this any
> further - the
>> many blank and repeated matches seem wrong to me, but the scorer
>> explanation seems even more wrong.  Any ideas?
>>
>> Karl
>>
>>
>> -----Original Message-----
>> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
>> Yonik Seeley
>> Sent: Thursday, January 20, 2011 3:34 PM
>> To: dev@lucene.apache.org
>> Subject: Re: Odd Boolean scoring behavior?
>>
>> On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
>> > I tried commenting out the final OR term, and that excluded all records
> that
>> were out-of-language as expected.  It's just the boost that doesn't seem
> to
>> work.
>>
>> I see a lot of unexpected zeros - queryNorm has factors if idf and the
> boost in
>> it - the fact that it's 0 suggests that you used a 0 boost.
>>
>> Why don't you do a toString() on your query and see if it's what you
> expect.
>>
>> -Yonik
>> http://www.lucidimagination.com
>>
>>
>>
>> > Exploring the explain is challenging because of its size, but there are
> NO
>> boosts recorded of the size I am using (10.0).  Here's the basic structure
> of
>> the first result.
>> >
>> > 0.0 = (MATCH) sum of:
>> >  0.0 = (MATCH) sum of:
>> >    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>> >      0.0 = queryWeight(language:eng), product of:
>> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>> >        0.0 = queryNorm
>> >      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>> >        1.0 = tf(termFreq(language:eng)=0)
>> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>> >        1.0 = fieldNorm(field=language, doc=52867945)
>> >    0.0 = (MATCH) product of:
>> >      0.0 = (MATCH) sum of:
>> >        0.0 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>> >          1.0 = boost
>> >          0.0 = queryNorm
>> >        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>> >          1.0 = boost
>> >          0.0 = queryNorm
>> >
>> > ...
>> >
>> >      0.0069078947 = coord(21/3040)
>> >  0.0 = (MATCH) product of:
>> >    0.0 = (MATCH) sum of:
>> >      0.0 = (MATCH)
>> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
>> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
>> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
>> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>> >        1.0 = boost
>> >        0.0 = queryNorm
>> >      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
>> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
>> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
>> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
>> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
>> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
>> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
>> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
>> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
>> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
>> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>> >        1.0 = boost
>> >        0.0 = queryNorm
>> >
>> > ...
>> >
>> >    0.0069078947 = coord(21/3040)
>> >
>> > It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean
>> logic, does not actually apply boost?
>> >
>> > Karl
>> >
>> >
>> >
>> > -----Original Message-----
>> > From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
>> > Yonik Seeley
>> > Sent: Thursday, January 20, 2011 2:36 PM
>> > To: dev@lucene.apache.org
>> > Subject: Re: Odd Boolean scoring behavior?
>> >
>> > On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> >> The problem is that the LANGUAGE_BOOST boost doesn't seem to be
>> >> having any effect.  I can change it all over the place, and nothing
> much
>> changes.
>> >
>> > Then perhaps your language term doesn't actually match anything in the
>> > index?  (i.e. how is it analyzed?) Next step would be to get score
>> > explanations (just add debugQuery=true if you're using Solr, or see
>> > IndexSearcher.explain() if not).
>> >
>> > -Yonik
>> > http://www.lucidimagination.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
>> > additional commands, e-mail: dev-help@lucene.apache.org
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
>> > additional commands, e-mail: dev-help@lucene.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
>> commands, e-mail: dev-help@lucene.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
>> commands, e-mail: dev-help@lucene.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
>> commands, e-mail: dev-help@lucene.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
>> commands, e-mail: dev-help@lucene.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
>> commands, e-mail: dev-help@lucene.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
This is a query that wraps another query, which limits the number of results returned from it to some specific number.  It seems very helpful for the situation where you have a lot of clauses in a query and each of them is expected to be small, but there is a chance of having one clause return lots of stuff, which by definition is less than useful.  For example:

OR
 cutoff(clause_1)
 cutoff(clause_2)
 cutoff(clause_3)
...

... where clause_N can potentially match something very common, e.g. "of" or "road", but where you can't just treat "of" and "road" as stop words.

Hope this helps.
Karl



-----Original Message-----
From: ext Uwe Schindler [mailto:uwe@thetaphi.de]
Sent: Friday, January 21, 2011 5:37 AM
To: dev@lucene.apache.org
Subject: RE: Odd Boolean scoring behavior?

BTW: What is CutOffQueryWrapper?

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de


> -----Original Message-----
> From: karl.wright@nokia.com [mailto:karl.wright@nokia.com]
> Sent: Friday, January 21, 2011 11:26 AM
> To: dev@lucene.apache.org
> Subject: RE: Odd Boolean scoring behavior?
>
> Turns out that I inadvertently reverted one of Simon's changes to
> CutoffQueryWrapper, which explains the second effect.  So all is now well.
>
> Thanks for your assistance!
> Karl
>
> ________________________________________
> From: Wright Karl (Nokia-MS/Boston)
> Sent: Thursday, January 20, 2011 9:44 PM
> To: dev@lucene.apache.org
> Subject: RE: Odd Boolean scoring behavior?
>
> Found the cause of the zero querynorms, and fixed it.  But the results are
still
> not as I would expect.  The first result has language=ger but scores
higher
> than the second result which has language=eng.  And yet, my query is
> boosting like this:
>
> Boolean
>  OR Boolean (boost = 100.0)
>   AND (language:eng)
>   AND (stuff)
>  OR (stuff)
>
> ... where (stuff) is the same stuff in both cases.
>
> Here's the scoring for two results, the first one out of language, and the
> second one in language:
>
> 0.018082526 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@6cdcb5eb sum of:
>   0.018059647 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@e2b8f23 sum of:
>     0.015771711 = (MATCH) weight(language:eng in 52867945), product of:
>       0.015771711 = queryWeight(language:eng), product of:
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         0.015771711 = queryNorm
>       1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>         1.0 = tf(termFreq(language:eng)=0)
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         1.0 = fieldNorm(field=language, doc=52867945)
>     0.0022879362 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 product
> of:
>       0.331206 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 sum of:
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
> 4)^0.5555556), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>       0.0069078947 = coord(21/3040)
>   2.287936E-5 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb
> product of:
>     0.0033120597 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb sum of:
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
> 4)^0.5555556), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>     0.0069078947 = coord(21/3040)
>
> And the second one:
>
> 0.01596035 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5a85ce81 sum of:
>   0.015958482 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@6b8a595 sum of:
>     0.015771711 = (MATCH) weight(language:eng in 52772845), product of:
>       0.015771711 = queryWeight(language:eng), product of:
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         0.015771711 = queryNorm
>       1.0 = (MATCH) fieldWeight(language:eng in 52772845), product of:
>         1.0 = tf(termFreq(language:eng)=1)
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         1.0 = fieldNorm(field=language, doc=52772845)
>     1.8677025E-4 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5
> product of:
>       0.094630264 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 sum of:
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>       0.0019736842 = coord(6/3040)
>   1.8677025E-6 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 product
> of:
>     9.463026E-4 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 sum of:
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>     0.0019736842 = coord(6/3040)
>
> As you can see, the queryNorm in both (stuff) clauses is now consistent
with
> the boost.  What I don't understand is why the first score winds up being
> lower than the second despite the boost.  Maybe it's just late and I don't
see
> it, but it looks to me like for scoring the language clause is operating
> essentially independently of the Boolean AND clause, so my query construct
> just isn't going to do what I hoped.
>
> Thoughts?  If I'm right, how *could* I do what I'm trying to do?
> Karl
>
>
> -----Original Message-----
> From: Wright Karl (Nokia-MS/Boston)
> Sent: Thursday, January 20, 2011 7:49 PM
> To: dev@lucene.apache.org; yonik@lucidimagination.com
> Subject: RE: Odd Boolean scoring behavior?
>
> So I think I understand where the blank values and repeats come from.
> Those are the expansions of fuzzy queries against fields that have no
> matches whatsoever for the fuzzy values in question. So those are indeed
> OK.
>
> I guess then that the problem is that the scoring explanation makes no
> sense.  I'm going to pick that apart and see why not next.
>
> Karl
>
> -----Original Message-----
> From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com]
> Sent: Thursday, January 20, 2011 5:31 PM
> To: dev@lucene.apache.org; yonik@lucidimagination.com
> Subject: RE: Odd Boolean scoring behavior?
>
> The original query is fine, and has the boost as expected:
>
> ((+language:eng +(
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_1:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +othervalue_0:hill)^0.5714286) ...
>     CutoffQueryWrapper((+othervalue_7:bunker~0.8332333
> +value_7:hillmonument~0.8332333)^0.85714287)
>     CutoffQueryWrapper((+value_7:bunker~0.8332333
> +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
> (
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +value_0:hill)^0.6666667) ...
> ))
>
> The rewritten query is odd.  Here's a sample:
>
>
> ((+language:eng +(
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>
> ...
>
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
> (
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286) ...
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
>     CutoffQueryWrapper(+() +(()^0.6666667))
>     CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287)
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
> )
>
> As you can see, there are a lot of repeats, a lot of blank matches, but
the
> original boost *is* still there.  I really can't interpret this any
further - the
> many blank and repeated matches seem wrong to me, but the scorer
> explanation seems even more wrong.  Any ideas?
>
> Karl
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
> Yonik Seeley
> Sent: Thursday, January 20, 2011 3:34 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> > I tried commenting out the final OR term, and that excluded all records
that
> were out-of-language as expected.  It's just the boost that doesn't seem
to
> work.
>
> I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in
> it - the fact that it's 0 suggests that you used a 0 boost.
>
> Why don't you do a toString() on your query and see if it's what you
expect.
>
> -Yonik
> http://www.lucidimagination.com
>
>
>
> > Exploring the explain is challenging because of its size, but there are
NO
> boosts recorded of the size I am using (10.0).  Here's the basic structure
of
> the first result.
> >
> > 0.0 = (MATCH) sum of:
> >  0.0 = (MATCH) sum of:
> >    0.0 = (MATCH) weight(language:eng in 52867945), product of:
> >      0.0 = queryWeight(language:eng), product of:
> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
> >        0.0 = queryNorm
> >      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
> >        1.0 = tf(termFreq(language:eng)=0)
> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
> >        1.0 = fieldNorm(field=language, doc=52867945)
> >    0.0 = (MATCH) product of:
> >      0.0 = (MATCH) sum of:
> >        0.0 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
> >          1.0 = boost
> >          0.0 = queryNorm
> >        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
> >          1.0 = boost
> >          0.0 = queryNorm
> >
> > ...
> >
> >      0.0069078947 = coord(21/3040)
> >  0.0 = (MATCH) product of:
> >    0.0 = (MATCH) sum of:
> >      0.0 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
> >        1.0 = boost
> >        0.0 = queryNorm
> >      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
> >        1.0 = boost
> >        0.0 = queryNorm
> >
> > ...
> >
> >    0.0069078947 = coord(21/3040)
> >
> > It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean
> logic, does not actually apply boost?
> >
> > Karl
> >
> >
> >
> > -----Original Message-----
> > From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
> > Yonik Seeley
> > Sent: Thursday, January 20, 2011 2:36 PM
> > To: dev@lucene.apache.org
> > Subject: Re: Odd Boolean scoring behavior?
> >
> > On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
> >> The problem is that the LANGUAGE_BOOST boost doesn't seem to be
> >> having any effect.  I can change it all over the place, and nothing
much
> changes.
> >
> > Then perhaps your language term doesn't actually match anything in the
> > index?  (i.e. how is it analyzed?) Next step would be to get score
> > explanations (just add debugQuery=true if you're using Solr, or see
> > IndexSearcher.explain() if not).
> >
> > -Yonik
> > http://www.lucidimagination.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
> > additional commands, e-mail: dev-help@lucene.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
> > additional commands, e-mail: dev-help@lucene.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by Uwe Schindler <uw...@thetaphi.de>.
BTW: What is CutOffQueryWrapper?

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de


> -----Original Message-----
> From: karl.wright@nokia.com [mailto:karl.wright@nokia.com]
> Sent: Friday, January 21, 2011 11:26 AM
> To: dev@lucene.apache.org
> Subject: RE: Odd Boolean scoring behavior?
> 
> Turns out that I inadvertently reverted one of Simon's changes to
> CutoffQueryWrapper, which explains the second effect.  So all is now well.
> 
> Thanks for your assistance!
> Karl
> 
> ________________________________________
> From: Wright Karl (Nokia-MS/Boston)
> Sent: Thursday, January 20, 2011 9:44 PM
> To: dev@lucene.apache.org
> Subject: RE: Odd Boolean scoring behavior?
> 
> Found the cause of the zero querynorms, and fixed it.  But the results are
still
> not as I would expect.  The first result has language=ger but scores
higher
> than the second result which has language=eng.  And yet, my query is
> boosting like this:
> 
> Boolean
>  OR Boolean (boost = 100.0)
>   AND (language:eng)
>   AND (stuff)
>  OR (stuff)
> 
> ... where (stuff) is the same stuff in both cases.
> 
> Here's the scoring for two results, the first one out of language, and the
> second one in language:
> 
> 0.018082526 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@6cdcb5eb sum of:
>   0.018059647 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@e2b8f23 sum of:
>     0.015771711 = (MATCH) weight(language:eng in 52867945), product of:
>       0.015771711 = queryWeight(language:eng), product of:
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         0.015771711 = queryNorm
>       1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>         1.0 = tf(termFreq(language:eng)=0)
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         1.0 = fieldNorm(field=language, doc=52867945)
>     0.0022879362 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 product
> of:
>       0.331206 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 sum of:
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
> 4)^0.5555556), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667))^0.85714287), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>       0.0069078947 = coord(21/3040)
>   2.287936E-5 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb
> product of:
>     0.0033120597 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb sum of:
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4))^0.875), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4
> othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4
> othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-
> 4)^0.5555556), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:monument
> othervalue_5:monumento^7.9949305E-4
> othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4
> value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4
> value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4
> value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4
> value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4
> value_5:bungeehill^4.99833E-4 value_5:bunkerhill
> value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4
> value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4
> value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4
> value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974
> value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974
> value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4
> value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill
> othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974
> othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667))^0.85714287), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((othervalue_5:hillmonument
> othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>     0.0069078947 = coord(21/3040)
> 
> And the second one:
> 
> 0.01596035 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5a85ce81 sum of:
>   0.015958482 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@6b8a595 sum of:
>     0.015771711 = (MATCH) weight(language:eng in 52772845), product of:
>       0.015771711 = queryWeight(language:eng), product of:
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         0.015771711 = queryNorm
>       1.0 = (MATCH) fieldWeight(language:eng in 52772845), product of:
>         1.0 = tf(termFreq(language:eng)=1)
>         1.0 = idf(docFreq=23889670, maxDocs=59327671)
>         1.0 = fieldNorm(field=language, doc=52772845)
>     1.8677025E-4 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5
> product of:
>       0.094630264 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 sum of:
>         0.015771711 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>         0.015771711 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>           1.0 = boost
>           0.015771711 = queryNorm
>       0.0019736842 = coord(6/3040)
>   1.8677025E-6 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 product
> of:
>     9.463026E-4 = (MATCH)
> org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 sum of:
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-
> 4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill
> +(value_5:monument value_5:monumenta^7.9949305E-4
> value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4
> value_5:monuments^7.9949305E-4))^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument
> value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4
> value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)
> +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4
> value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4
> value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4
> value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4
> value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4
> value_5:bunkerhill value_5:bunkerhillct^4.99833E-4
> value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4
> value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974
> value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4
> value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4
> value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4
> value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)),
> product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>       1.577171E-4 = (MATCH)
> CutoffQueryWrapper(+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +((value_5:hillmonument
> value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-
> 4)^0.6666667)), product of:
>         1.0 = boost
>         1.577171E-4 = queryNorm
>     0.0019736842 = coord(6/3040)
> 
> As you can see, the queryNorm in both (stuff) clauses is now consistent
with
> the boost.  What I don't understand is why the first score winds up being
> lower than the second despite the boost.  Maybe it's just late and I don't
see
> it, but it looks to me like for scoring the language clause is operating
> essentially independently of the Boolean AND clause, so my query construct
> just isn't going to do what I hoped.
> 
> Thoughts?  If I'm right, how *could* I do what I'm trying to do?
> Karl
> 
> 
> -----Original Message-----
> From: Wright Karl (Nokia-MS/Boston)
> Sent: Thursday, January 20, 2011 7:49 PM
> To: dev@lucene.apache.org; yonik@lucidimagination.com
> Subject: RE: Odd Boolean scoring behavior?
> 
> So I think I understand where the blank values and repeats come from.
> Those are the expansions of fuzzy queries against fields that have no
> matches whatsoever for the fuzzy values in question. So those are indeed
> OK.
> 
> I guess then that the problem is that the scoring explanation makes no
> sense.  I'm going to pick that apart and see why not next.
> 
> Karl
> 
> -----Original Message-----
> From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com]
> Sent: Thursday, January 20, 2011 5:31 PM
> To: dev@lucene.apache.org; yonik@lucidimagination.com
> Subject: RE: Odd Boolean scoring behavior?
> 
> The original query is fine, and has the boost as expected:
> 
> ((+language:eng +(
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_1:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +othervalue_0:hill)^0.5714286) ...
>     CutoffQueryWrapper((+othervalue_7:bunker~0.8332333
> +value_7:hillmonument~0.8332333)^0.85714287)
>     CutoffQueryWrapper((+value_7:bunker~0.8332333
> +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
> (
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+othervalue_0:bunker~0.8332333
> +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_0:bunker~0.8332333
> +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+value_1:bunker~0.8332333
> +value_0:hill)^0.6666667) ...
> ))
> 
> The rewritten query is odd.  Here's a sample:
> 
> 
> ((+language:eng +(
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
> 
> ...
> 
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
> (
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
>     CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
>     CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4)
> +value_0:hill)^0.6666667)
>     CutoffQueryWrapper((+() +value_0:hill)^0.5714286) ...
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
>     CutoffQueryWrapper(+() +(()^0.6666667))
>     CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287)
>     CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
> )
> 
> As you can see, there are a lot of repeats, a lot of blank matches, but
the
> original boost *is* still there.  I really can't interpret this any
further - the
> many blank and repeated matches seem wrong to me, but the scorer
> explanation seems even more wrong.  Any ideas?
> 
> Karl
> 
> 
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
> Yonik Seeley
> Sent: Thursday, January 20, 2011 3:34 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
> 
> On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> > I tried commenting out the final OR term, and that excluded all records
that
> were out-of-language as expected.  It's just the boost that doesn't seem
to
> work.
> 
> I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in
> it - the fact that it's 0 suggests that you used a 0 boost.
> 
> Why don't you do a toString() on your query and see if it's what you
expect.
> 
> -Yonik
> http://www.lucidimagination.com
> 
> 
> 
> > Exploring the explain is challenging because of its size, but there are
NO
> boosts recorded of the size I am using (10.0).  Here's the basic structure
of
> the first result.
> >
> > 0.0 = (MATCH) sum of:
> >  0.0 = (MATCH) sum of:
> >    0.0 = (MATCH) weight(language:eng in 52867945), product of:
> >      0.0 = queryWeight(language:eng), product of:
> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
> >        0.0 = queryNorm
> >      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
> >        1.0 = tf(termFreq(language:eng)=0)
> >        1.0 = idf(docFreq=23889670, maxDocs=59327671)
> >        1.0 = fieldNorm(field=language, doc=52867945)
> >    0.0 = (MATCH) product of:
> >      0.0 = (MATCH) sum of:
> >        0.0 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
> >          1.0 = boost
> >          0.0 = queryNorm
> >        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
> >          1.0 = boost
> >          0.0 = queryNorm
> >
> > ...
> >
> >      0.0069078947 = coord(21/3040)
> >  0.0 = (MATCH) product of:
> >    0.0 = (MATCH) sum of:
> >      0.0 = (MATCH)
> CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4
> othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4
> othervalue_5:bunker othervalue_5:bunner^5.997396E-4
> othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
> >        1.0 = boost
> >        0.0 = queryNorm
> >      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4
> value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4
> value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4
> value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4
> value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4
> value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4
> value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker
> value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4
> value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4
> value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4
> value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
> >        1.0 = boost
> >        0.0 = queryNorm
> >
> > ...
> >
> >    0.0069078947 = coord(21/3040)
> >
> > It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean
> logic, does not actually apply boost?
> >
> > Karl
> >
> >
> >
> > -----Original Message-----
> > From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext
> > Yonik Seeley
> > Sent: Thursday, January 20, 2011 2:36 PM
> > To: dev@lucene.apache.org
> > Subject: Re: Odd Boolean scoring behavior?
> >
> > On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
> >> The problem is that the LANGUAGE_BOOST boost doesn't seem to be
> >> having any effect.  I can change it all over the place, and nothing
much
> changes.
> >
> > Then perhaps your language term doesn't actually match anything in the
> > index?  (i.e. how is it analyzed?) Next step would be to get score
> > explanations (just add debugQuery=true if you're using Solr, or see
> > IndexSearcher.explain() if not).
> >
> > -Yonik
> > http://www.lucidimagination.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
> > additional commands, e-mail: dev-help@lucene.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For
> > additional commands, e-mail: dev-help@lucene.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional
> commands, e-mail: dev-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
Turns out that I inadvertently reverted one of Simon's changes to CutoffQueryWrapper, which explains the second effect.  So all is now well.

Thanks for your assistance!
Karl

________________________________________
From: Wright Karl (Nokia-MS/Boston)
Sent: Thursday, January 20, 2011 9:44 PM
To: dev@lucene.apache.org
Subject: RE: Odd Boolean scoring behavior?

Found the cause of the zero querynorms, and fixed it.  But the results are still not as I would expect.  The first result has language=ger but scores higher than the second result which has language=eng.  And yet, my query is boosting like this:

Boolean
 OR Boolean (boost = 100.0)
  AND (language:eng)
  AND (stuff)
 OR (stuff)

... where (stuff) is the same stuff in both cases.

Here's the scoring for two results, the first one out of language, and the second one in language:

0.018082526 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@6cdcb5eb sum of:
  0.018059647 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@e2b8f23 sum of:
    0.015771711 = (MATCH) weight(language:eng in 52867945), product of:
      0.015771711 = queryWeight(language:eng), product of:
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        0.015771711 = queryNorm
      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
        1.0 = tf(termFreq(language:eng)=0)
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        1.0 = fieldNorm(field=language, doc=52867945)
    0.0022879362 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 product of:
      0.331206 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 sum of:
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
      0.0069078947 = coord(21/3040)
  2.287936E-5 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb product of:
    0.0033120597 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb sum of:
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
    0.0069078947 = coord(21/3040)

And the second one:

0.01596035 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5a85ce81 sum of:
  0.015958482 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@6b8a595 sum of:
    0.015771711 = (MATCH) weight(language:eng in 52772845), product of:
      0.015771711 = queryWeight(language:eng), product of:
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        0.015771711 = queryNorm
      1.0 = (MATCH) fieldWeight(language:eng in 52772845), product of:
        1.0 = tf(termFreq(language:eng)=1)
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        1.0 = fieldNorm(field=language, doc=52772845)
    1.8677025E-4 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 product of:
      0.094630264 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 sum of:
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
      0.0019736842 = coord(6/3040)
  1.8677025E-6 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 product of:
    9.463026E-4 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 sum of:
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
    0.0019736842 = coord(6/3040)

As you can see, the queryNorm in both (stuff) clauses is now consistent with the boost.  What I don't understand is why the first score winds up being lower than the second despite the boost.  Maybe it's just late and I don't see it, but it looks to me like for scoring the language clause is operating essentially independently of the Boolean AND clause, so my query construct just isn't going to do what I hoped.

Thoughts?  If I'm right, how *could* I do what I'm trying to do?
Karl


-----Original Message-----
From: Wright Karl (Nokia-MS/Boston)
Sent: Thursday, January 20, 2011 7:49 PM
To: dev@lucene.apache.org; yonik@lucidimagination.com
Subject: RE: Odd Boolean scoring behavior?

So I think I understand where the blank values and repeats come from.  Those are the expansions of fuzzy queries against fields that have no matches whatsoever for the fuzzy values in question. So those are indeed OK.

I guess then that the problem is that the scoring explanation makes no sense.  I'm going to pick that apart and see why not next.

Karl

-----Original Message-----
From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com]
Sent: Thursday, January 20, 2011 5:31 PM
To: dev@lucene.apache.org; yonik@lucidimagination.com
Subject: RE: Odd Boolean scoring behavior?

The original query is fine, and has the boost as expected:

((+language:eng +(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_1:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+othervalue_7:bunker~0.8332333 +value_7:hillmonument~0.8332333)^0.85714287)
    CutoffQueryWrapper((+value_7:bunker~0.8332333 +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
...
))

The rewritten query is odd.  Here's a sample:


((+language:eng +(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)

...

    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
    CutoffQueryWrapper(+() +(()^0.6666667))
    CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287)
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
)

As you can see, there are a lot of repeats, a lot of blank matches, but the original boost *is* still there.  I really can't interpret this any further - the many blank and repeated matches seem wrong to me, but the scorer explanation seems even more wrong.  Any ideas?

Karl


-----Original Message-----
From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
Sent: Thursday, January 20, 2011 3:34 PM
To: dev@lucene.apache.org
Subject: Re: Odd Boolean scoring behavior?

On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in it - the fact that it's 0 suggests that you used a 0 boost.

Why don't you do a toString() on your query and see if it's what you expect.

-Yonik
http://www.lucidimagination.com



> Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.
>
> 0.0 = (MATCH) sum of:
>  0.0 = (MATCH) sum of:
>    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>      0.0 = queryWeight(language:eng), product of:
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        0.0 = queryNorm
>      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>        1.0 = tf(termFreq(language:eng)=0)
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        1.0 = fieldNorm(field=language, doc=52867945)
>    0.0 = (MATCH) product of:
>      0.0 = (MATCH) sum of:
>        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>
> ...
>
>      0.0069078947 = coord(21/3040)
>  0.0 = (MATCH) product of:
>    0.0 = (MATCH) sum of:
>      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>
> ...
>
>    0.0069078947 = coord(21/3040)
>
> It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?
>
> Karl
>
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
> Sent: Thursday, January 20, 2011 2:36 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
>> effect.  I can change it all over the place, and nothing much changes.
>
> Then perhaps your language term doesn't actually match anything in the
> index?  (i.e. how is it analyzed?)
> Next step would be to get score explanations (just add debugQuery=true
> if you're using Solr, or see IndexSearcher.explain() if not).
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
Found the cause of the zero querynorms, and fixed it.  But the results are still not as I would expect.  The first result has language=ger but scores higher than the second result which has language=eng.  And yet, my query is boosting like this:

Boolean
 OR Boolean (boost = 100.0)
  AND (language:eng)
  AND (stuff)
 OR (stuff)

... where (stuff) is the same stuff in both cases.

Here's the scoring for two results, the first one out of language, and the second one in language:

0.018082526 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@6cdcb5eb sum of:
  0.018059647 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@e2b8f23 sum of:
    0.015771711 = (MATCH) weight(language:eng in 52867945), product of:
      0.015771711 = queryWeight(language:eng), product of:
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        0.015771711 = queryNorm
      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
        1.0 = tf(termFreq(language:eng)=0)
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        1.0 = fieldNorm(field=language, doc=52867945)
    0.0022879362 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 product of:
      0.331206 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@4dc24a19 sum of:
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.875), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287), product of:
          1.0 = boost
          0.015771711 = queryNorm
      0.0069078947 = coord(21/3040)
  2.287936E-5 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb product of:
    0.0033120597 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@207e7fdb sum of:
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.5714286), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4))^0.875), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:monument othervalue_5:monumento^7.9949305E-4 othervalue_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((othervalue_5:barkerhill^4.99833E-4 othervalue_5:bunkerhill othervalue_5:bunkerhillrd^4.99833E-4 othervalue_5:bunkerhills^0.50024974 othervalue_5:butterhill^4.99833E-4)^0.5555556))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((othervalue_5:hillmonument othervalue_5:hillsmonument^0.50030005)^0.5555556))^0.85714287), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
    0.0069078947 = coord(21/3040)

And the second one:

0.01596035 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5a85ce81 sum of:
  0.015958482 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@6b8a595 sum of:
    0.015771711 = (MATCH) weight(language:eng in 52772845), product of:
      0.015771711 = queryWeight(language:eng), product of:
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        0.015771711 = queryNorm
      1.0 = (MATCH) fieldWeight(language:eng in 52772845), product of:
        1.0 = tf(termFreq(language:eng)=1)
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        1.0 = fieldNorm(field=language, doc=52772845)
    1.8677025E-4 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 product of:
      0.094630264 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@447edca5 sum of:
        0.015771711 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
          1.0 = boost
          0.015771711 = queryNorm
        0.015771711 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
          1.0 = boost
          0.015771711 = queryNorm
      0.0019736842 = coord(6/3040)
  1.8677025E-6 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 product of:
    9.463026E-4 = (MATCH) org.apache.lucene.search.BooleanQuery$BooleanWeight@5bff8187 sum of:
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((+value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4))^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +value_5:hill +(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:monument value_5:monumenta^7.9949305E-4 value_5:monumentc^7.9949305E-4 value_5:monumento^7.9949305E-4 value_5:monuments^7.9949305E-4) +((value_5:bannerhill^4.99833E-4 value_5:barkerhill^4.99833E-4 value_5:beckerhill^4.99833E-4 value_5:benderhill^4.99833E-4 value_5:bonnerhill^4.99833E-4 value_5:brunerhill^4.99833E-4 value_5:brunnerhill^4.99833E-4 value_5:bucherhill^4.99833E-4 value_5:bucknerhill^4.99833E-4 value_5:bungeehill^4.99833E-4 value_5:bunkerhill value_5:bunkerhillct^4.99833E-4 value_5:bunkerhilldr^4.99833E-4 value_5:bunkerhillln^4.99833E-4 value_5:bunkerhillrd^4.99833E-4 value_5:bunkerhills^0.50024974 value_5:bunkerhllw^4.99833E-4 value_5:bunkerholw^4.99833E-4 value_5:bunkershill^0.50024974 value_5:bunkershills^4.99833E-4 value_5:bunnerhill^0.50024974 value_5:bunnerhills^4.99833E-4 value_5:butlerhill^4.99833E-4 value_5:butterhill^4.99833E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
      1.577171E-4 = (MATCH) CutoffQueryWrapper(+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +((value_5:hillmonument value_5:hillsmonument^0.50030005 value_5:histmonument^5.997396E-4)^0.6666667)), product of:
        1.0 = boost
        1.577171E-4 = queryNorm
    0.0019736842 = coord(6/3040)

As you can see, the queryNorm in both (stuff) clauses is now consistent with the boost.  What I don't understand is why the first score winds up being lower than the second despite the boost.  Maybe it's just late and I don't see it, but it looks to me like for scoring the language clause is operating essentially independently of the Boolean AND clause, so my query construct just isn't going to do what I hoped.

Thoughts?  If I'm right, how *could* I do what I'm trying to do?
Karl


-----Original Message-----
From: Wright Karl (Nokia-MS/Boston)
Sent: Thursday, January 20, 2011 7:49 PM
To: dev@lucene.apache.org; yonik@lucidimagination.com
Subject: RE: Odd Boolean scoring behavior?

So I think I understand where the blank values and repeats come from.  Those are the expansions of fuzzy queries against fields that have no matches whatsoever for the fuzzy values in question. So those are indeed OK.

I guess then that the problem is that the scoring explanation makes no sense.  I'm going to pick that apart and see why not next.

Karl

-----Original Message-----
From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com]
Sent: Thursday, January 20, 2011 5:31 PM
To: dev@lucene.apache.org; yonik@lucidimagination.com
Subject: RE: Odd Boolean scoring behavior?

The original query is fine, and has the boost as expected:

((+language:eng +(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_1:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+othervalue_7:bunker~0.8332333 +value_7:hillmonument~0.8332333)^0.85714287)
    CutoffQueryWrapper((+value_7:bunker~0.8332333 +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
...
))

The rewritten query is odd.  Here's a sample:


((+language:eng +(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)

...

    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286)
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667)
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
    CutoffQueryWrapper(+() +(()^0.6666667))
    CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287)
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
)

As you can see, there are a lot of repeats, a lot of blank matches, but the original boost *is* still there.  I really can't interpret this any further - the many blank and repeated matches seem wrong to me, but the scorer explanation seems even more wrong.  Any ideas?

Karl


-----Original Message-----
From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
Sent: Thursday, January 20, 2011 3:34 PM
To: dev@lucene.apache.org
Subject: Re: Odd Boolean scoring behavior?

On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in it - the fact that it's 0 suggests that you used a 0 boost.

Why don't you do a toString() on your query and see if it's what you expect.

-Yonik
http://www.lucidimagination.com



> Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.
>
> 0.0 = (MATCH) sum of:
>  0.0 = (MATCH) sum of:
>    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>      0.0 = queryWeight(language:eng), product of:
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        0.0 = queryNorm
>      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>        1.0 = tf(termFreq(language:eng)=0)
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        1.0 = fieldNorm(field=language, doc=52867945)
>    0.0 = (MATCH) product of:
>      0.0 = (MATCH) sum of:
>        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>
> ...
>
>      0.0069078947 = coord(21/3040)
>  0.0 = (MATCH) product of:
>    0.0 = (MATCH) sum of:
>      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>
> ...
>
>    0.0069078947 = coord(21/3040)
>
> It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?
>
> Karl
>
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
> Sent: Thursday, January 20, 2011 2:36 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
>> effect.  I can change it all over the place, and nothing much changes.
>
> Then perhaps your language term doesn't actually match anything in the
> index?  (i.e. how is it analyzed?)
> Next step would be to get score explanations (just add debugQuery=true
> if you're using Solr, or see IndexSearcher.explain() if not).
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
So I think I understand where the blank values and repeats come from.  Those are the expansions of fuzzy queries against fields that have no matches whatsoever for the fuzzy values in question. So those are indeed OK.

I guess then that the problem is that the scoring explanation makes no sense.  I'm going to pick that apart and see why not next.

Karl

-----Original Message-----
From: ext karl.wright@nokia.com [mailto:karl.wright@nokia.com] 
Sent: Thursday, January 20, 2011 5:31 PM
To: dev@lucene.apache.org; yonik@lucidimagination.com
Subject: RE: Odd Boolean scoring behavior?

The original query is fine, and has the boost as expected:

((+language:eng +(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_1:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+othervalue_7:bunker~0.8332333 +value_7:hillmonument~0.8332333)^0.85714287) 
    CutoffQueryWrapper((+value_7:bunker~0.8332333 +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
...
))

The rewritten query is odd.  Here's a sample:


((+language:eng +(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)

...

    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287) 
    CutoffQueryWrapper(+() +(()^0.6666667)) 
    CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287) 
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
)

As you can see, there are a lot of repeats, a lot of blank matches, but the original boost *is* still there.  I really can't interpret this any further - the many blank and repeated matches seem wrong to me, but the scorer explanation seems even more wrong.  Any ideas?

Karl


-----Original Message-----
From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
Sent: Thursday, January 20, 2011 3:34 PM
To: dev@lucene.apache.org
Subject: Re: Odd Boolean scoring behavior?

On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in it - the fact that it's 0 suggests that you used a 0 boost.

Why don't you do a toString() on your query and see if it's what you expect.

-Yonik
http://www.lucidimagination.com



> Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.
>
> 0.0 = (MATCH) sum of:
>  0.0 = (MATCH) sum of:
>    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>      0.0 = queryWeight(language:eng), product of:
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        0.0 = queryNorm
>      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>        1.0 = tf(termFreq(language:eng)=0)
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        1.0 = fieldNorm(field=language, doc=52867945)
>    0.0 = (MATCH) product of:
>      0.0 = (MATCH) sum of:
>        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>
> ...
>
>      0.0069078947 = coord(21/3040)
>  0.0 = (MATCH) product of:
>    0.0 = (MATCH) sum of:
>      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>
> ...
>
>    0.0069078947 = coord(21/3040)
>
> It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?
>
> Karl
>
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
> Sent: Thursday, January 20, 2011 2:36 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
>> effect.  I can change it all over the place, and nothing much changes.
>
> Then perhaps your language term doesn't actually match anything in the
> index?  (i.e. how is it analyzed?)
> Next step would be to get score explanations (just add debugQuery=true
> if you're using Solr, or see IndexSearcher.explain() if not).
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
The original query is fine, and has the boost as expected:

((+language:eng +(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_1:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +othervalue_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+othervalue_7:bunker~0.8332333 +value_7:hillmonument~0.8332333)^0.85714287) 
    CutoffQueryWrapper((+value_7:bunker~0.8332333 +othervalue_7:hillmonument~0.8332333)^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+othervalue_0:bunker~0.8332333 +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_0:bunker~0.8332333 +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+value_1:bunker~0.8332333 +value_0:hill)^0.6666667)
...
))

The rewritten query is odd.  Here's a sample:


((+language:eng +(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)

...

    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)))^3.0)
(
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286) 
    CutoffQueryWrapper((+() +othervalue_0:hill)^0.5714286) 
    CutoffQueryWrapper((+(value_2:bunker value_2:burker^5.997396E-4) +value_0:hill)^0.6666667) 
    CutoffQueryWrapper((+() +value_0:hill)^0.5714286)
...
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287) 
    CutoffQueryWrapper(+() +(()^0.6666667)) 
    CutoffQueryWrapper((+() +(()^0.6666667))^0.85714287) 
    CutoffQueryWrapper((+() +(()^0.5555556))^0.85714287)
)

As you can see, there are a lot of repeats, a lot of blank matches, but the original boost *is* still there.  I really can't interpret this any further - the many blank and repeated matches seem wrong to me, but the scorer explanation seems even more wrong.  Any ideas?

Karl


-----Original Message-----
From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
Sent: Thursday, January 20, 2011 3:34 PM
To: dev@lucene.apache.org
Subject: Re: Odd Boolean scoring behavior?

On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in it - the fact that it's 0 suggests that you used a 0 boost.

Why don't you do a toString() on your query and see if it's what you expect.

-Yonik
http://www.lucidimagination.com



> Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.
>
> 0.0 = (MATCH) sum of:
>  0.0 = (MATCH) sum of:
>    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>      0.0 = queryWeight(language:eng), product of:
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        0.0 = queryNorm
>      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>        1.0 = tf(termFreq(language:eng)=0)
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        1.0 = fieldNorm(field=language, doc=52867945)
>    0.0 = (MATCH) product of:
>      0.0 = (MATCH) sum of:
>        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>
> ...
>
>      0.0069078947 = coord(21/3040)
>  0.0 = (MATCH) product of:
>    0.0 = (MATCH) sum of:
>      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>
> ...
>
>    0.0069078947 = coord(21/3040)
>
> It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?
>
> Karl
>
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
> Sent: Thursday, January 20, 2011 2:36 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
>> effect.  I can change it all over the place, and nothing much changes.
>
> Then perhaps your language term doesn't actually match anything in the
> index?  (i.e. how is it analyzed?)
> Next step would be to get score explanations (just add debugQuery=true
> if you're using Solr, or see IndexSearcher.explain() if not).
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: Odd Boolean scoring behavior?

Posted by Yonik Seeley <yo...@lucidimagination.com>.
On Thu, Jan 20, 2011 at 3:06 PM,  <ka...@nokia.com> wrote:
> I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

I see a lot of unexpected zeros - queryNorm has factors if idf and the
boost in it - the fact that it's 0 suggests that you used a 0 boost.

Why don't you do a toString() on your query and see if it's what you expect.

-Yonik
http://www.lucidimagination.com



> Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.
>
> 0.0 = (MATCH) sum of:
>  0.0 = (MATCH) sum of:
>    0.0 = (MATCH) weight(language:eng in 52867945), product of:
>      0.0 = queryWeight(language:eng), product of:
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        0.0 = queryNorm
>      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
>        1.0 = tf(termFreq(language:eng)=0)
>        1.0 = idf(docFreq=23889670, maxDocs=59327671)
>        1.0 = fieldNorm(field=language, doc=52867945)
>    0.0 = (MATCH) product of:
>      0.0 = (MATCH) sum of:
>        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>          1.0 = boost
>          0.0 = queryNorm
>
> ...
>
>      0.0069078947 = coord(21/3040)
>  0.0 = (MATCH) product of:
>    0.0 = (MATCH) sum of:
>      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
>        1.0 = boost
>        0.0 = queryNorm
>
> ...
>
>    0.0069078947 = coord(21/3040)
>
> It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?
>
> Karl
>
>
>
> -----Original Message-----
> From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
> Sent: Thursday, January 20, 2011 2:36 PM
> To: dev@lucene.apache.org
> Subject: Re: Odd Boolean scoring behavior?
>
> On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
>> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
>> effect.  I can change it all over the place, and nothing much changes.
>
> Then perhaps your language term doesn't actually match anything in the
> index?  (i.e. how is it analyzed?)
> Next step would be to get score explanations (just add debugQuery=true
> if you're using Solr, or see IndexSearcher.explain() if not).
>
> -Yonik
> http://www.lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: Odd Boolean scoring behavior?

Posted by ka...@nokia.com.
I tried commenting out the final OR term, and that excluded all records that were out-of-language as expected.  It's just the boost that doesn't seem to work.

Exploring the explain is challenging because of its size, but there are NO boosts recorded of the size I am using (10.0).  Here's the basic structure of the first result.

0.0 = (MATCH) sum of:
  0.0 = (MATCH) sum of:
    0.0 = (MATCH) weight(language:eng in 52867945), product of:
      0.0 = queryWeight(language:eng), product of:
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        0.0 = queryNorm
      1.0 = (MATCH) fieldWeight(language:eng in 52867945), product of:
        1.0 = tf(termFreq(language:eng)=0)
        1.0 = idf(docFreq=23889670, maxDocs=59327671)
        1.0 = fieldNorm(field=language, doc=52867945)
    0.0 = (MATCH) product of:
      0.0 = (MATCH) sum of:
        0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
          1.0 = boost
          0.0 = queryNorm
        0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
          1.0 = boost
          0.0 = queryNorm

...

      0.0069078947 = coord(21/3040)
  0.0 = (MATCH) product of:
    0.0 = (MATCH) sum of:
      0.0 = (MATCH) CutoffQueryWrapper((+(othervalue_5:banker^5.997396E-4 othervalue_5:bucker^5.997396E-4 othervalue_5:bunder^5.997396E-4 othervalue_5:bunker othervalue_5:bunner^5.997396E-4 othervalue_5:burker^5.997396E-4) +value_5:hill)^0.5714286), product of:
        1.0 = boost
        0.0 = queryNorm
      0.0 = (MATCH) CutoffQueryWrapper((+(value_5:banker^5.997396E-4 value_5:baunker^5.997396E-4 value_5:benker^5.997396E-4 value_5:beunker^5.997396E-4 value_5:binker^5.997396E-4 value_5:bonker^5.997396E-4 value_5:brunker^5.997396E-4 value_5:bucker^5.997396E-4 value_5:bueker^5.997396E-4 value_5:bunder^5.997396E-4 value_5:bunger^5.997396E-4 value_5:bunkek^5.997396E-4 value_5:bunken^5.997396E-4 value_5:bunker value_5:bunkers^5.997396E-4 value_5:bunkeru^5.997396E-4 value_5:bunner^5.997396E-4 value_5:bunter^5.997396E-4 value_5:bunzer^5.997396E-4 value_5:burker^5.997396E-4 value_5:busker^5.997396E-4) +othervalue_5:hill)^0.5714286), product of:
        1.0 = boost
        0.0 = queryNorm

...

    0.0069078947 = coord(21/3040)

It looks like the PRODUCT_OF and SUM_OF, which represents the Boolean logic, does not actually apply boost?

Karl



-----Original Message-----
From: yseeley@gmail.com [mailto:yseeley@gmail.com] On Behalf Of ext Yonik Seeley
Sent: Thursday, January 20, 2011 2:36 PM
To: dev@lucene.apache.org
Subject: Re: Odd Boolean scoring behavior?

On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
> effect.  I can change it all over the place, and nothing much changes.

Then perhaps your language term doesn't actually match anything in the
index?  (i.e. how is it analyzed?)
Next step would be to get score explanations (just add debugQuery=true
if you're using Solr, or see IndexSearcher.explain() if not).

-Yonik
http://www.lucidimagination.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: Odd Boolean scoring behavior?

Posted by Yonik Seeley <yo...@lucidimagination.com>.
On Thu, Jan 20, 2011 at 2:17 PM,  <ka...@nokia.com> wrote:
> The problem is that the LANGUAGE_BOOST boost doesn't seem to be having any
> effect.  I can change it all over the place, and nothing much changes.

Then perhaps your language term doesn't actually match anything in the
index?  (i.e. how is it analyzed?)
Next step would be to get score explanations (just add debugQuery=true
if you're using Solr, or see IndexSearcher.explain() if not).

-Yonik
http://www.lucidimagination.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org