lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Busch <>
Subject Re: [jira] Resolved: (LUCENE-730) Restore top level disjunction performance
Date Thu, 24 May 2007 20:34:21 GMT
Chris Hostetter wrote:
> : With this committed it also makes sense to deprecate the setUseScorer14()
> : method and the corresponding get...() method. If you want a patch for that,
> : I'll gladly provide one.
> i haven't really been able to follow this issue as much as i would like,
> but docs now sometimes coming out of order and the need to hobble
> QueryUtils.check(Query,Searcher) because of this alarms me a bit ... i
> can't really think of all the cases this might cause problems for people,
> but i'm, sure there may be some (i remember it was kind of a big deal when
> BooleanScorer2 came out and people could start relying on docs coming in
> order ... it's why ConstantScoreRangeQuery because a wrapper arround
> ConstantScoreQuery -- the first version i wrote collected dos in order
> they were found while walking the TermEnum/TermDocs and people didn't like
> that this ment they weren't in order)

I agree. I also believe that a lot of people rely on docs in order (I do 
too in some cases). I think before we make a 2.2 release we should 
change this, so that the docs are still in order per default.

> perhaps this patch should be changed to only have this effect
> (BooleanScorer2 delegating to BooleanScorer) only if
> BooleanQuery.setUseScorer14(true) has been called -- and the existing use
> of BooleanQuery.getUseScorer14() to decide between BooleanWeight and
> BooleanWeight2 can be removed (and BooleanWeight can be deprecated)
> that way people who are okay with getting docs out of order can call
> BooleanQuery.setUseScorer14(true) and get the performance benefits when
> possible, but people who want to be sure they get documents in order have
> to accept that in some cases their queries arent' as fast asthey could be.
+1. I think this makes sense. We can implement it this way for now, and 
maybe in the future we can deprecate setUseScorer14() and add something 

void allowDocsOutOfOrer(boolean allow);

to Query as Doron suggested. I'm going to reopen LUCENE-730.

> ...i believe what i'm suggesting would keep the fundemental meaning of
> setUseScorer(true), even if the value is now used in a slightly differnet
> place ... correct?
> -Hoss
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message