es中float类型写入的数据(整数位超8位且带小数位),查找出来的_source中该字段的值自动用科学记数法表示。有无办法不用科学记数法?
Elasticsearch | 作者 shwtz | 发布于2021年09月22日 | 阅读数:3430
对于float类型,写入列数据:
375000000.0
37500000.000124
朝招出来的_source中会变成以下形式:
3.75E8
3.7500000000124E7
有无设置可以使得查找来处的_source里面的数值保持写入时的样子,不用科学记数法?
medcl给了替代方案,写入float时,数值带上引号,这样查找出来的_source还是原文:
"_source" : {
"f1" : "109001122.123456789",
"k1" : "hahaha"
}
且可以按照实际数值进行查找。
375000000.0
37500000.000124
朝招出来的_source中会变成以下形式:
3.75E8
3.7500000000124E7
有无设置可以使得查找来处的_source里面的数值保持写入时的样子,不用科学记数法?
medcl给了替代方案,写入float时,数值带上引号,这样查找出来的_source还是原文:
"_source" : {
"f1" : "109001122.123456789",
"k1" : "hahaha"
}
且可以按照实际数值进行查找。
2 个回复
stone_xy
赞同来自: shwtz
doc values field可以 指定format
shwtz - 学物理想做演员的IT男
赞同来自:
因为如果用代码调用es的api,代码里头读取到的还是正常显示的数据。只是kibana显示_source的时候,可能是因为java代码的valueofstring类似的方法,自动转成了科学记数法
实际上是不影响使用的。
望周知