如何在Elasticsearch中为csv-river生成的类型指定整数类型

时间:2014-10-15 13:39:26

标签: elasticsearch elasticsearch-plugin

似乎我离开了我的联盟,希望Elasticsearch社区的某些人可以收听并指出我的错误。

我想尝试使用Kibana + Elastic搜索来摆弄一些符合COUNTER3标准的数据,并且需要导入CSV文件。

我选择CSV River plugin来导入csv文件 river-csv配置了以下PUT请求到http:// localhost:9200 / _river / test_csv_river / _meta

{
  "type": "csv",
  "csv_file": {
    "folder": "C:\\localdata\\UsageStats\\COUNTER3",
    "first_line_is_header": "true"
  }
}

这很好但事实证明,数字字段是作为字符串导入的,而不是数字。通过检查索引类型映射确认:http:// localhost:9200 / test_csv_river / csv_type / _mapping

{
    test_csv_river: {
        mappings: {
            csv_type: {
                properties: {
                    ft_total: {
                        type: "string"
                    },
                    .....
                }
            }
        }
    }
}

这个相关的SO问题让我相信我可以更改类型字段属性 AFTER 我创建了索引:How to update a field type in elasticsearch

但是当我做出以下PUT请求时,我收到错误 {“error”:“MergeMappingException [合并失败但失败{[mapper [ft_total] of different type,current_type [string],merged_type [integer]]}]”,“status”:400}

的http://本地主机:9200 / test_csv_river / csv_type / _mapping

{
    "csv_type" : {
        "properties" : {
            "ft_total" : {"type" : "integer", "store" : "yes"}
        }
    }
}

无法从字符串>更新该类型整数?

或者,有什么方法可以确保使用特定字段 预定义 创建索引作为“type”:使用CSV河流插件时的“整数” ?

0 个答案:

没有答案