问题1
- SQLSERVER 数据库中 建表时 建立NVARCHAR 类型字段,里面存的是数值,在使用Logstash 抽取数据库数据时,在ES 中采用自动建立索引的方式,索引类型根据数据库字段类型自动建立成text 类型,因此没法使range 等范围查询
解决方式:重新建立索引,先创建修改后的mapping字段,字段名字一致,类型不一致,将老索引中的数据复制到新的索引中。
#第一步 建立新索引
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"date": {
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
}
}
#第二步 复制原索引数据到新索引中
POST _reindex
{
"source": {
"index": "old_test"(老的索引名)
},
"dest": {
"index": "new_test"(新的索引名)
}
}
网友评论