I am getting lost as well, maybe I managed to confuse myself and everybody else 
here. 

But all agree, it would be good to know why it works now

Re. Query rewriting. 

This Query gets printed with 
///
BooleanQuery q;
....
q.toString()
search(q, null, 200):
///

=> this is the Query that enters this method.

and this String has exactly that form
(x OR y OR z) OR (a OR b OR c), 
That is exactly how I construct the Query, have a look at brackets on this 
toString result .  
I have absolutely no influence on rewriting , everything happens at 
BoolenQuery/Clause level using legal, high level api... have no idea... 

Will try some other, equally crazy  things, to run it with  +(x OR y OR z) OR 
+(a OR b OR c),  to check if it gets stuck on older trunk (the version with 
problems) in this setup. Just to see if setting 
setAllowDocsOutOfOrder(true/false)  has some unbelievable side effects on 
places where it should not ... 
the idea is:
setAllowDocsOutOfOrder(true) and MUST terms, should have the same effect as 
setAllowDocsOutOfOrder(false) .... so, if it gets stuck there we have some 
other side effects... 

No matter how confusing, trunk version without these 2 patches makes this query 
stuck... 

later today I will rollback trunk to see which patch fixed it ... reduces 
number of puzzle peaces 

Cheers, 
Eks




----- Original Message ----
> From: Michael McCandless <luc...@mikemccandless.com>
> To: java-user@lucene.apache.org
> Sent: Thursday, 16 July, 2009 11:47:34
> Subject: Re: speed of BooleanQueries on 2.9
> 
> On Thu, Jul 16, 2009 at 5:21 AM, eks devwrote:
> 
> > Trace taken on trunk version (with fixed Yonik's bug and LUCENE-1744 tha 
> > fixed 
> the problem somehow)
> 
> Whoa, so LUCENE-1744 did in fact fix the problem?  (I thought you had
> accidentally failed to setAllowDocsOutOfOrder(true) and that made us
> falsely think it had fixed it when it had not).  I keep getting
> confused here.
> 
> From the trace I can see you have a toplevel BS that somehow uses 2
> BS2 sub-scorers.  I don't get how the query you posted can do that --
> your query should get rewritten to a big OR-query such that we see a
> BS with many TermScorers as its subscorers.  Ie it's as if you're
> somehow actually running a query like this:
> 
>     (x OR y OR z) OR (a OR b OR c)
> 
> Mike
> 
> ---------------------------------------------------------------------
> 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

Reply via email to