Hi,
I found the following piece of logic in DisjunctionMaxScorer.skipTo function 
which may have a potential issue (marked in code as <<<<ISSUE>>>>).

    public boolean skipTo(int target) throws IOException {
        if (firstTime) {
          if (!more) return false;
          heapify();
          firstTime = false;
          return true;   // more would have been false if no subScorers had any 
docs
        <<<<ISSUE>>>> The issue is that we should not have his return statement 
over here. It should continue on the rest of the logic. Otherwise firsttime the 
skipping to target will not happen.
    
        }

        while (subScorers.size()>0 && ((Scorer)subScorers.get(0)).doc()<target) 
{
            if (((Scorer)subScorers.get(0)).skipTo(target))
                heapAdjust(0);
            else
                heapRemoveRoot();
        }
        if ((subScorers.size()==0))
            return (more = false);
        return true;
    }

Please somebody confirm if this is an issue.

regards,
Sudaakeran B




 
____________________________________________________________________________________
We won't tell. Get more on shows you hate to love 
(and love to hate): Yahoo! TV's Guilty Pleasures list.
http://tv.yahoo.com/collections/265 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to