位置: 编程技术 - 正文
推荐整理分享MySQL 与 Elasticsearch 数据不对称问题解决办法,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
MySQL 与 Elasticsearch 数据不对称问题解决办法
jdbc-input-plugin 只能实现数据库的追加,对于 elasticsearch 增量写入,但经常jdbc源一端的数据库可能会做数据库删除或者更新操作。这样一来数据库与搜索引擎的数据库就出现了不对称的情况。
当然你如果有开发团队可以写程序在删除或者更新的时候同步对搜索引擎操作。如果你没有这个能力,可以尝试下面的方法。
这里有一个数据表 article , mtime 字段定义了 ON UPDATE CURRENT_TIMESTAMP 所以每次更新mtime的时间都会变化
logstash 增加 mtime 的查询规则
创建回收站表,这个事用于解决数据库删除,或者禁用 status = 'N' 这种情况的。
为 article 表创建触发器
接下来我们需要写一个简单地 Shell 每分钟运行一次,从 elasticsearch_trash 数据表中取出数据,然后使用 curl 命令调用 elasticsearch restful 接口,删除被收回的数据。
你还可以开发相关的程序,这里提供一个 Spring boot 定时任务例子。
实体
仓库
定时任务
Spring boot 启动主程序。
标签: MySQL 与 Elasticsearch 数据不对称问题解决办法
本文链接地址:https://www.jiuchutong.com/biancheng/348717.html 转载请保留说明!上一篇:MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程及发现问题解决方案(mysql改造)
下一篇:mysql中url时区的陷阱该如何规避详解(数据库时区与url连接设置的时区)
友情链接: 武汉网站建设