[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to