使用中看到的现象
- 在mysql中关联查询后,因为关系表中,一个文章可以对应多个医院、科室、疾病,查询得到的数据是91条,group by id之后是61条。
- 在jdbc中的同步语句中,没有使用group by 导入elasticsearch中,发现数据也是61条。原来是elasticsearch做了相关优化,在医院、科室、疾病字段中,如果相同的字段中有多个值,导入elasticsearch中,结果就会由字符串转换为数组格式。
- 结论:不需要在同步数据的时候,增加group by
当mysql版本是5.7.+时,同步时会报如下警告,在head插件中实际查看时,不影响同步功能,数据仍然可以同步到elasticsearch中。
[root@localhost bin]# ./mysql-article.sh
Wed Jan 31 17:30:35 HKT 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Wed Jan 31 15:39:34 HKT 2018警告:建议不建议使用服务器身份验证建立SSL连接。 根据MySQL 5.5.45+,5.6.26+和5.7.6+的要求,如果没有设置显式选项,则必须默认建立SSL连接。 为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false”。 您需要通过设置useSSL = false来显式禁用SSL,或者设置useSSL = true并为服务器证书验证提供信任库。