Usually the fields fetch API functions similarly to loading field values from doc values. Usually. It differs in a few cases like text. But whenever it does differ from doc_values we want to make that choice intentionally. So it turns out that when you use the fields API on a half_float field we'll parse the value from the _source as a 32 bit float and return it with that precision. But docvalue_fields for half_float returns 16 bit of precision. Do we really want that or did we do it by accident?
Usually the fields fetch API functions similarly to loading field values from doc values. Usually. It differs in a few cases like
text. But whenever it does differ fromdoc_valueswe want to make that choice intentionally. So it turns out that when you use thefieldsAPI on ahalf_floatfield we'll parse the value from the_sourceas a 32 bit float and return it with that precision. Butdocvalue_fieldsforhalf_floatreturns 16 bit of precision. Do we really want that or did we do it by accident?