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

Michael Osipov commented on LUCENE-1768:
----------------------------------------

Though this is old and Lucene 3.x is not supported anymore, We have found a bug 
in our old indexing service cause by the {{RangeQueryNode}}. It has been 
incorrectly implemented back in 3.4. The logic is reversed compared to the fix 
in 4.0 thus making it unusable.

That is the logic in 3.x:
{code}
super(lower, upper, lower.getOperator() == CompareOperator.LE, upper
        .getOperator() == CompareOperator.GE);
{code}

and the logic in 4.x:
{code}
return new TermRangeQueryNode(lower, upper,
          lower.getOperator() == CompareOperator.GE,
          upper.getOperator() == CompareOperator.LE);
{code}

> NumericRange support for new query parser
> -----------------------------------------
>
>                 Key: LUCENE-1768
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1768
>             Project: Lucene - Core
>          Issue Type: New Feature
>          Components: core/queryparser
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>              Labels: contrib, gsoc, gsoc2011, lucene-gsoc-11, mentor
>             Fix For: 3.4, 4.0-ALPHA
>
>         Attachments: TestNumericQueryParser-fix.patch, 
> TestNumericQueryParser-fix.patch, TestNumericQueryParser-fix.patch, 
> TestNumericQueryParser-fix.patch, week-14.patch, week-7.patch, week-8.patch, 
> week1.patch, week11-13_for_lucene_3x.patch, week11-13_for_lucene_3x.patch, 
> week15_for_lucene_3x.patch, week15_for_trunk.patch, week2.patch, week3.patch, 
> week4.patch, week5-6.patch
>
>
> It would be good to specify some type of "schema" for the query parser in 
> future, to automatically create NumericRangeQuery for different numeric 
> types? It would then be possible to index a numeric value 
> (double,float,long,int) using NumericField and then the query parser knows, 
> which type of field this is and so it correctly creates a NumericRangeQuery 
> for strings like "[1.567..*]" or "(1.787..19.5]".
> There is currently no way to extract if a field is numeric from the index, so 
> the user will have to configure the FieldConfig objects in the ConfigHandler. 
> But if this is done, it will not be that difficult to implement the rest.
> The only difference between the current handling of RangeQuery is then the 
> instantiation of the correct Query type and conversion of the entered numeric 
> values (simple Number.valueOf(...) cast of the user entered numbers). 
> Evenerything else is identical, NumericRangeQuery also supports the MTQ 
> rewrite modes (as it is a MTQ).
> Another thing is a change in Date semantics. There are some strange flags in 
> the current parser that tells it how to handle dates.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to