No, I don't have an explanation. Perhaps a minimal self-contained program or test case would help.
-- Ian. On Thu, Jul 22, 2010 at 10:23 AM, Philippe <mailer.tho...@gmail.com> wrote: > Hi Ian, > > I'm using Version 2.93 of lucene. > > q.getClass() and q.toString() are exactly equal: > org.apache.lucene.search.BooleanQuery > TITLE:672 BOOK:672 > > However, the results for searcher.explain(q,n) significantly differ. It > seems to me that "Query q = parser.parse("672");" searches only one the > Book field, whereas "Query q = parser.parse("TITLE:672 BOOK:672");" > searches on both fields. Do you have a explanation for this behaviour? I > only observed this problem for this field... > > I appended the result of both explain strings below: > > "Query q = parser.parse("672");" > 9.987344E10 = (MATCH) sum of: > 9.987344E10 = (MATCH) weight(BOOK:672 in 7078), product of: > 0.6583703 = queryWeight(BOOK:672), product of: > 6.085349 = idf(docFreq=109, maxDocs=17780) > 0.10818941 = queryNorm > 1.51697965E11 = (MATCH) fieldWeight(BOOK:672 in 7078), product of: > 3.3166249 = tf(termFreq(BOOK:672)=11) > 6.085349 = idf(docFreq=109, maxDocs=17780) > 7.5161928E9 = fieldNorm(field=BOOK, doc=7078) > > > "Query q = parser.parse("TITLE:672 BOOK:672");" > 9.5225594E10 = (MATCH) sum of: > 9.5225594E10 = (MATCH) weight(BOOK:672 in 4979), product of: > 0.6583703 = queryWeight(BOOK:672), product of: > 6.085349 = idf(docFreq=109, maxDocs=17780) > 0.10818941 = queryNorm > 1.44638345E11 = (MATCH) fieldWeight(BOOK:672 in 4979), product of: > 3.1622777 = tf(termFreq(BOOK:672)=10) > 6.085349 = idf(docFreq=109, maxDocs=17780) > 7.5161928E9 = fieldNorm(field=BOOK, doc=4979) > 52.366344 = (MATCH) weight(TITLE:672 in 4979), product of: > 0.7526941 = queryWeight(TITLE:672), product of: > 6.957188 = idf(docFreq=45, maxDocs=17780) > 0.10818941 = queryNorm > 69.571884 = (MATCH) fieldWeight(TITLE:672 in 4979), product of: > 1.0 = tf(termFreq(TITLE:672)=1) > 6.957188 = idf(docFreq=45, maxDocs=17780) > 10.0 = fieldNorm(field=TITLE, doc=4979) > > Cheers, > P. > Am 22.07.2010 10:02, schrieb Ian Lea: >> >> They look the same to me too. >> >> What does q.getClass().getName() say in each case? q.toString()? >> searcher.explain(q, n)? >> >> What version of lucene? >> >> >> -- >> Ian. >> >> >> >> >> On Wed, Jul 21, 2010 at 10:25 PM, Philippe<mailer.tho...@gmail.com> >> wrote: >> >>> >>> Hi, >>> >>> I just performed two queries which, in my opinion, should lead to the >>> same >>> document rankings. However, the document ranking differ between these two >>> queries. For better understanding I prepared minimal examples for both >>> queries. In my understanding both queries perform the same task. Namely >>> search for "lucene" in two different fields. >>> >>> Maybe someone can explain me my misunderstanding? >>> >>> >>> String[] fields = {"TITLE", "BOOK"}; >>> MultiFieldQueryParser parser = new >>> MultiFieldQueryParser(Version.LUCENE_29, >>> fields, new StandardAnalyzer(Version.LUCENE_29)); >>> >>> 1.) >>> Query q = parser.parse("lucene"); >>> >>> 2.) >>> Query q = parser.parse(TITLE:lucene OR BOOK:lucene); >>> >>> Regards, >>> philippe >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org