lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1768) NumericRange support for new query parser
Date Fri, 07 Aug 2009 20:57:15 GMT

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

Uwe Schindler commented on LUCENE-1768:
---------------------------------------

To go back to the idea why I opened the issue (and I think, this is also Mike's intention):

>From what you see on java-user, where users asking questions about how to use Lucene:
Most users are not aware of the fact, that they can create Query classes themselves. Most
examplecode on the list is just: "I have such query string and I pass it to lucene and it
does not work as exspected." It is hard to explain them, that they should simply not use a
query parser for their queries and just instantiate the query classes directly. For such users
it is even harder to customize this query parser.

My intention behind is: Make the RangeQueryNodeBuilder somehow configureable like Luis proposed,
that you can set the type of a field (what we do not have in Lucene currently). If the type
is undefined or explicite set to "string/term", create a TermRangeQuery. If it is set to any
numeric type, create a NumericRangeQuery.newXxxRange(field,....).

The same can currently be done by the original Lucene query parser, but only for dates (and
it is really a hack using this DateField class). I simply want to extend it that you can say:
"this field is of type 'int' and create automatically the correct range query for it." Because
the old query parser is now "deprecated", I want to do it for the new one. This would also
be an intention for new users to throw away the old parser and use the new one, because it
can be configured easily to create numeric ranges in addition to term ranges.

> 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: Uwe Schindler
>             Fix For: 2.9
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message