现象:java往es同步数据的时候有一个字段,手动改mapping的为byte,short,long,依然报错:Preview of field's value: 'false'
原因:应该是mysql的导出Jar会默认将tinyint(1)转换为boolean
解决办法:
(1)数据库改为tinyint(4),tinyint(4)就会默认转成数字,es的mapping用byte就能接受
(2)连接数据库的url中添加&TreatTinyAsBoolean=false&tinyInt1isBit=false
(3)查询时将tinyint(1)字段乘以1后,再作为结果输出,后台mapping使用integer即可