[
https://issues.apache.org/jira/browse/LUCENE-1768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13012352#comment-13012352
]
Uwe Schindler commented on LUCENE-1768:
---------------------------------------
{quote}
- I remember the old date query, using strings, used to not only allow range
queries, but also term queries (date:2010/10/10), is that correct? Does numeric
fields also support this kind of query? I could only fine NumericRangeQuery,
but no NumericQuery. If the user enters (age:19) in the query, and "age" is a
numeric field, should the query parser throw an error saying it's not
suppported?
{quote}
To create something like a NumericQuery (age:19), the correct and most
performant way is to use a NumericRangeQuery with
(includeLower==includeUpper)==true and (lower==upper)==value. This query is
since Lucene 2.9 always rewritten in the most optimal way (internally it uses a
ConstantScore TermQuery using the prefix encoded term. This should also be
noted in JavaDocs?
This is also how Solr's QP works.
> 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: QueryParser
> Affects Versions: 2.9
> Reporter: Uwe Schindler
> Assignee: Adriano Crestani
> Labels: contrib, gsoc, gsoc2011, lucene-gsoc-11, mentor
> Fix For: 4.0
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]