|
[
Permlink
| « Hide
]
kaineci added a comment - 26/Oct/06 06:49 AM
loop may be rewriten :while((bucket!=null) && (fisrst || (bucket != firstElem))) where firstElem stores the first elements of buckettable.
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. Is that while loop in your initial comment endless?
Can you write a little class/unit test that shows this? I can't quite tell what's going on from your comments, but Paul or one of the other Scorer experts might. It looks like the initially posted code is from BooleanScorer, but nowadays normally BooleanScorer2 is used.
Would it be possible to have a test case showing the problem? I don't see a problem with that code (and it's not used by default anyway).
If you have a testcase that can demonstrate a problem, please provide it and re-open. |
||||||||||||||||||||||||||||||||||||||||||||||||||