[ https://issues.apache.org/jira/browse/SOLR-5065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13718379#comment-13718379 ]
Jack Krupansky commented on SOLR-5065: -------------------------------------- My main point was really that it was a shocking surprise to find out that this processor did not accept a number that was acceptable to both Java and JSON as well as Solr itself for "double" and "float" fields. I would also note that Python and JavaScript allow optional plus for exponents as well. Many other languages as well. To put it more simply, how would a user, reading the Javadoc for this processor have any F'in clue that a plus is not acceptable in an exponent? I'd be willing to chalk this up to a bug/limitation in NumberFormat - IFF the limitation gets documented for this processor. I read through the NumberFormat Javadoc as carefully as I could and could find no hint that it had such a limitation. I mean, I just assumed it would accept Java numbers. Obviously my assumption was wrong. Sigh. And my real bottom line is that if a double syntax is acceptable by Solr itself for a double/trie double field, it should be acceptable by this processor... or, that any limitation that is different from Solr double field should be clearly documented. > 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org