Yes, there are no tests yet. Jörg
On Wed, Mar 5, 2014 at 2:24 PM, mooky <nick.minute...@gmail.com> wrote: > I am ready to create a pull request - its actually quite a simple change. > However, I cant find *any *tests for the existing BigDecimal support ... > does that sound right? > > -Nick > > > > On Friday, 28 February 2014 12:09:00 UTC, mooky wrote: >> >> XContentBuilder has support for BigDecimal, but: >> >> 1. If you pass the source as a Map when indexing, the BigDecimal >> handling doesn't get invoked (https://github.com/ >> >> elasticsearch/elasticsearch/issues/5260<https://github.com/elasticsearch/elasticsearch/issues/5260> >> ). >> 2. The existing handling should delegate through to Jackson's >> handling of BigDecimal (which can be configured to serialise BigDecimal in >> a lossless fashion - I dont think that feature existed when I had to worry >> about it last) >> >> Looking at the code now, I think its actually an easy change - I will see >> if I can create a pull request. >> >> -Nick >> >> >> On Wednesday, 26 February 2014 17:28:29 UTC, Jörg Prante wrote: >>> >>> ES accepts BigDecimal input. You can specify scale and rounding mode to >>> format the BigDecimal. >>> >>> https://github.com/jprante/elasticsearch/commit/ >>> 8ef8cd149b867e3e45bc3055dfd6da80e4e9c7ec >>> >>> Internally, BigDecimal is automatically converted to a JSON string if >>> the number does not fit into double format. Because numbers are useful in >>> Lucene for range searches, they have an advantage. >>> >>> But I agree, another option could be to enforce string conversion in any >>> case, for example storing currency values as strings for financial >>> services, without arithmetic operations in the index. >>> >>> Maybe the toEngineeringString() was not a smart decision and >>> toPlainString() works better. >>> >>> So I would welcome improvements, or should I suggest one in a pull >>> request? >>> >>> Jörg >>> >>> >>> >>> On Wed, Feb 26, 2014 at 6:05 PM, mooky <nick.mi...@gmail.com> wrote: >>> >>>> In financial services space, we almost never use float/double in our >>>> domain - we always use BigDecimal. >>>> >>>> In elastic, I would like to be able to index/store BigDecimal in a >>>> lossless manner (ie what I get back from _source has the same precision, >>>> etc as what I put in). >>>> >>>> When I have had to preserve the json serialisation of BigDecimal, I >>>> have usually had custom serialiser/deserialisers that printed it out as a >>>> json number - but whose textual value was toPlainString(). When >>>> deserialising, creating the BigDecimal with the string value (e.g. >>>> '42.5400') maintained the precision that was originally serialised >>>> e.g. >>>> >>>> { >>>> verySmallNumber : 0.00000000012000, >>>> otherNumber : 42.5400 >>>> } >>>> >>>> Perhaps elastic could index bigdecimal as a double - but store it in >>>> the source in a lossless fashion. >>>> It would require a user setting, I guess, to treat all floating point >>>> numbers as BigDecimal. >>>> >>>> Thoughts? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "elasticsearch" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to elasticsearc...@googlegroups.com. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/elasticsearch/b54dfd5a-3a0e-4946-aa5f-28b3794a92ac% >>>> 40googlegroups.com. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> -- > You received this message because you are subscribed to the Google Groups > "elasticsearch" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to elasticsearch+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/b8463a21-c997-4269-ae52-992caae88ced%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/b8463a21-c997-4269-ae52-992caae88ced%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGYL7-_ocoZNq%2Bv71z-o6Jisi3J_8mVmsqU1UJuzWjPog%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.