我正在尝试将文档插入 Elasticsearch,它们的格式如下:
{
total: 1,
subtotal: 1.2,
totalDiscount: 0}
我遇到的问题是零,在 JavaScript 中,您不能强制将“0”表示为“0.0”或“0.00”。
我不能在 ES 的映射中使用文本,因为我显然想对这些字段进行数学运算。所以我对上述所有内容都使用了“浮动”映射。
所以,对于这些领域中的每一个,我都有类似的东西:
"subtotal": {
"type": "float"
},
我尝试了各种不同的组合,将它们存储为“文本”不允许我随意查询它们,如果我不定义映射,我会得到字段的“长”类型,这会截断它们,如果我使用 float 我会得到一个异常mapper [totalDiscount] cannot be changed from type [float] to [long]
,如果我完全删除它们,所以跳过保存我也会得到一个错误
Rejecting mapping update to [...] as the final mapping would have more than 1 type
非常感谢任何帮助,谢谢。