似乎我离开了我的联盟,希望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河流插件时的“整数” ?