Эластичный поиск не может конвертировать long в float или float в long - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть несколько полей, определенных как числовые (1,16) в postgres, и мое отображение выглядит так (с шаблоном)

    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 без ошибок, что я могу изменить в своем отображении, чтобы улучшить его?

...