You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2013/07/23 08:34:50 UTC

[jira] [Commented] (SOLR-5065) ParseDoubleFieldUpdateProcessorFactory is unable to parse "+" in exponent

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

Robert Muir commented on SOLR-5065:
-----------------------------------

The "programming" parser of Double.parseDouble is different than the locale-sensitive stuff in NumberFormat... it will parse your number there, as well as hex formats and other things like Infinity, and I think won't throw exception if the value ends with d or f.

alternatively, there is also NumberFormat.getScientificInstance in ICU.

                
> ParseDoubleFieldUpdateProcessorFactory is unable to parse "+" in exponent
> -------------------------------------------------------------------------
>
>                 Key: SOLR-5065
>                 URL: https://issues.apache.org/jira/browse/SOLR-5065
>             Project: Solr
>          Issue Type: Bug
>          Components: update
>    Affects Versions: 4.4
>            Reporter: Jack Krupansky
>
> The ParseDoubleFieldUpdateProcessorFactory is unable to parse the full syntax of Java/JSON scientific notation. Parse fails for "4.5E+10", but does succeed for "4.5E10" and "4.5E-10".
> Using the schema and config from example-schemaless, I added this data:
> {code}
>   curl "http://localhost:8983/solr/update?commit=true" \
>   -H 'Content-type:application/json' -d '
>   [{"id": "doc-1",
>     "a1": "Hello World",
>     "a2": 123,
>     "a3": 123.0,
>     "a4": 1.23,
>     "a5": 4.5E+10,
>     "a6": "123",
>     "a7": true,
>     "a8": false,
>     "a9": "true",
>     "a10": "2013-07-22",
>     "a11": 4.5E10,
>     "a12": 4.5E-10,
>     "a13": "4.5E+10",
>     "a14": "4.5E10",
>     "a15": "4.5E-10"}]'
> {code}
> A query returns:
> {code}
>   <doc>
>     <str name="id">doc-1</str>
>     <arr name="a1">
>       <str>Hello World</str>
>     </arr>
>     <arr name="a2">
>       <long>123</long>
>     </arr>
>     <arr name="a3">
>       <double>123.0</double>
>     </arr>
>     <arr name="a4">
>       <double>1.23</double>
>     </arr>
>     <arr name="a5">
>       <double>4.5E10</double>
>     </arr>
>     <arr name="a6">
>       <long>123</long>
>     </arr>
>     <arr name="a7">
>       <bool>true</bool>
>     </arr>
>     <arr name="a8">
>       <bool>false</bool>
>     </arr>
>     <arr name="a9">
>       <bool>true</bool>
>     </arr>
>     <arr name="a10">
>       <date>2013-07-22T00:00:00Z</date>
>     </arr>
>     <arr name="a11">
>       <double>4.5E10</double>
>     </arr>
>     <arr name="a12">
>       <double>4.5E-10</double>
>     </arr>
>     <arr name="a13">
>       <str>4.5E+10</str>
>     </arr>
>     <arr name="a14">
>       <double>4.5E10</double>
>     </arr>
>     <arr name="a15">
>       <double>4.5E-10</double>
>     </arr>
>     <long name="_version_">1441308941516537856</long></doc>
> {code}
> The input value of a13 was the same as a5, but was treated as a string, rather than parsed as a double. So, JSON/Java was able to parse "4.5E+10", but this update processor was not.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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