弹性搜索无法将long转换为float或float转换为long

时间:2018-09-28 03:58:08

标签: postgresql symfony elasticsearch yaml foselasticabundle

我在postgres中定义了一些字段为numeric(1,16),并且我的映射如下所示(带有模板)

    invoice:
      dynamic_templates:
        numbers:
          match_mapping_type: "float"
          match: "*"
          mapping:
            type: scaled_float
            scaling_factor: 100
            null_value: 0.000000
            norms: false
            index: false
        double:
          match_mapping_type: "double"
          match: "*"
          mapping:
            norms: false
            index: false
            type: scaled_float
            scaling_factor: 100
            null_value: 0.000000
        floats:
          match_mapping_type: "long"
          match: "*"
          mapping:
            norms: false
            index: false
            type: scaled_float
            scaling_factor: 100
            null_value: 0.000000
          ......

要隐瞒我拥有的所有3种数字,但是每次进行批量导入时,我都会不断收到这样的错误

mapper [subtotal] cannot be changed from type [float] to [long]

我的数据库看起来像这样

postgres table

索引每次在小数点处带有0的数字时都会失败,在这种情况下,如果我将其更新为100.000001,这是不理想的,则小计是可行的,为什么我不能为该索引甚至0.000000没有错误,我可以更改什么在我的地图中进行改进?

0 个答案:

没有答案