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

Vinicius Barros commented on LUCENE-1768:
-----------------------------------------

Hi Uwe,

>>>I think the "bug" in Contrib QP is there because it's also a bug in Lucene's 
>>>Core QP (the default impl just emulates core's QP). But in my opinion, it 
>>>should have separate include/exclude for both limits, so a query like {1 TO 
>>>2] should behave as expected.

I think the same way, no idea why it's not supporting {1 TO 2]. I can try to 
fix it, but not sure how long it will take, haven't looked at the code yet. 
Anyway, it shouldn't be that hard, since core QueryParser is already working 
the way we expect, we need somehow to copy the same behavour to contrib 
queryparser.

>>>in NumericRangeQueryNodeBuilder, i would use switch statement on the 
>>>NumericField.DataType and throw a UnsupportedEx if an unknown type is hit. I 
>>>want to do this, because there is already an issue open to extend 
>>>NumericField and NumericRangeQuery by BYTE and SHORT. If we add those types, 
>>>the code gets unpredictable. With a switch statement and a exception in the 
>>>defalt clause, it fails predicatable. You should also add similar "default" 
>>>statement throwing exceptions in all switch statements on this enum type (in 
>>>general it is good code style to do this).

Agreed! I will do the change.

>>>The current code always handles Date as Long (like Solr does). I am not 
>>>sure, if this would always be the best idea (see e.g. Lucene In Action 
>>>book). Maybe we should add a possibility to override the conversion Date <-> 
>>>Number at a central place to customize? One of the reasons to not support 
>>>direkt DateRangeQueries was to make the representation of Dates as Numbers 
>>>open to the user.

Do you mean that Date could return some other type other than LONG? Like INT?! 
I could add a new parameter to NumberDateFormat that will receive 
NumeridField.DataType, this way the code could parse the date to the expected 
number type.


>>> Method "NumericField.DataType getNumericDataType(Number number)": I would 
>>> use instanceOf checks (as all Number subclasses are final, this is fine and 
>>> correct). They should be faster than this reflection code.

I will change that as well.

> NumericRange support for new query parser
> -----------------------------------------
>
>                 Key: LUCENE-1768
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1768
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: core/queryparser
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>            Assignee: Adriano Crestani
>              Labels: contrib, gsoc, gsoc2011, lucene-gsoc-11, mentor
>             Fix For: 4.0
>
>         Attachments: week1.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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to