[
http://issues.apache.org/jira/browse/LUCENE-700?page=comments#action_12444830 ]
kaineci commented on LUCENE-700:
--------------------------------
i see.
.....
more = false;
end += BucketTable.SIZE;//corresponding one term
for (SubScorer sub = scorers; sub != null; sub = sub.next) {
Scorer scorer = sub.scorer;
while (!sub.done && scorer.doc() < end) {
....
the code above can limite the range of docid in fetching inverted list once.
:)
> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
> Key: LUCENE-700
> URL: http://issues.apache.org/jira/browse/LUCENE-700
> Project: Lucene - Java
> Issue Type: Bug
> Components: Search
> Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3 and current docid of
> inverted lists of term1, term2, term3 are 0, i (larger than 0),
> BucketTable.SIZE, what could happen in search???However this case should
> occur with low possibility.
> BucketTable table = new
> BucketTable();
> Random random = new Random();
> int tmpValue = random.nextInt(Integer.MAX_VALUE);
> table.newCollector().collect(0, 0);
> table.newCollector().collect(tmpValue, tmpValue);
> table.newCollector().collect(2048, 2048);
> Bucket bucket = table.first;
> while(bucket != null)
> {
> bucket = bucket.next;
> num++;
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]