有我的弹性搜索映射:
"mappings": {
"_doc": {
"properties": {
"totalAmount": {
"type": "integer"
}
},
"dynamic_templates": [
{
"strings_as_longs": {
"match_mapping_type": "string",
"match": "*Amount",
"mapping": {
"type": "integer"
}
}
}
]
}
}
目的是存储所有字段,其中包含金额作为数字。将此映射应用于弹性后,将得到以下结果:
"totalAmount" : {
"type" : "integer"
}
我正在以JSON格式将数据发送到Elastic,但是所有数字都表示为字符串:
"freeAmount": "10",
"totalAmount": "60"
检索后,我还将这些数字作为字符串。对我来说很奇怪,我以为Elastic不得不在保存之前将字符串转换为数字,然后再将它们作为数字给我。 应该弹性转换它们,还是在保存为弹性之前转换所有需要的数据?