lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-2669) NumericRangeQuery.NumericRangeTermsEnum sometimes seeks backwards
Date Sun, 26 Sep 2010 20:29:34 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-2669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12915032#action_12915032
] 

Uwe Schindler commented on LUCENE-2669:
---------------------------------------

bq. Mike you set this as fix 3.1 and 4.0, but 3.1 does not have FilteredTermsEnum. We cannot
fix it there easily, as it uses the old style logic from 3.0.

We can maybe fix this also in 3.0 and not fetch a new enum, when the same conditions apply.
But its totally different code, will do that in a separate patch, if its easy (the 3.0/3.1
enum is complicated...)

> NumericRangeQuery.NumericRangeTermsEnum sometimes seeks backwards
> -----------------------------------------------------------------
>
>                 Key: LUCENE-2669
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2669
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>            Reporter: Michael McCandless
>            Assignee: Uwe Schindler
>             Fix For: 4.0
>
>         Attachments: LUCENE-2669.patch, LUCENE-2669.patch, LUCENE-2669.patch
>
>
> Subclasses of FilteredTermsEnum are "supposed to" seek forwards only (this gives better
performance, typically).
> However, we don't check for this, so I added an assert to do that (while digging into
testing the SimpleText codec) and NumericRangeQuery trips the assert!
> Other MTQs seem not to trip it.
> I think I know what's happening -- say NRQ has term ranges a-c, e-f to seek to, but then
while it's .next()'ing through the first range, the first term after c is f.  At this point
NRQ sees the range a-c is done, and then tries to seek to term e which is before f.  Maybe
NRQ's accept method should detect this case (where you've accidentally .next()'d into or possibly
beyond the next one or more seek ranges)?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message