ElasticSearch使用动态映射将字符串转换为数字

时间:2019-02-19 14:41:14

标签: elasticsearch

有我的弹性搜索映射:

   "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不得不在保存之前将字符串转换为数字,然后再将它们作为数字给我。 应该弹性转换它们,还是在保存为弹性之前转换所有需要的数据?

0 个答案:

没有答案