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

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

The second patch includes the week1 changes plus: implemented classes to 
support numeric configuration in query parser

I was not sure what to do about the locale. The locale is required by 
EscapeQuerySyntax.escape, which seems to escape characters so they don't mix 
with query parser's operators. The code I used locale I copied from 
FieldQueryNode, which uses the escaper and passes the default locale, however, 
other nodes as RegexpQueryNode ignore the escaper and just return the plain 
text. I was not sure what to do, then I am forcing the locale to ENGLISH now.

I also took a long time to figure out how to implement the numeric 
configuration, it seemed to me the best approach was to copy the way 
FieldBoostAttribute is configured. It's complex, but it's the only way I found 
without doing any ugly workaround.

Please, take a look at the code and give me some suggestions in case you thing 
I need to change something.

PS: the patch is now created from the trunk folder, as Uwe suggested

Thanks!

> 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
>
>
> 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