数据同步ES

Posted blablablabla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据同步ES相关的知识,希望对你有一定的参考价值。

数据同步ES

数据同步ES的原因是利用ES进行查询,加快查询速度。

ES同步前先检查:

1 ES环境是否搭建好,用http://ip:9200/_plugin/head/ 进行访问(ip和端口找运维人员核实)。健康值为绿色,表示正常。

技术分享图片

2 检查数据库表数据;

如262,检查262_account 表的数据是否有updatetime和触发器。

更新语句的触发器:

CREATE TRIGGER `340_account_triger` BEFORE UPDATE ON `340_account` FOR EACH ROW set NEW.updatetime=now();

技术分享图片

检查262_drug_sale表的数据的sale_time是否符合"yyyy-MM-dd HH:mm:ss"格式。

3 mysql同步es数据库表t_es_sync,检查要同步的表

CREATE TABLE `t_es_sync` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`tablename` varchar(255) DEFAULT NULL,

`synctype` int(1) DEFAULT ‘0‘ COMMENT ‘0 全量同步 1增量同步‘,

`syncthread` int(2) DEFAULT ‘1‘ COMMENT ‘控制线程数‘,

`pagesize` int(8) DEFAULT ‘1000‘ COMMENT ‘翻页,每页大小‘,

`starttime` datetime DEFAULT NULL COMMENT ‘增量同步开始时间‘,

`status` int(1) DEFAULT NULL COMMENT ‘0 表示同步成功 -1表示同步失败 1 表示同步中‘,

`synctime` datetime DEFAULT NULL COMMENT ‘最近一次同步开始时间‘,

`synendctime` datetime DEFAULT NULL COMMENT ‘最近一次同步结束时间‘,

`syncsql` text COMMENT ‘同步sql‘,

`remark` text COMMENT ‘同步出错时记录出错日志‘,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=312 DEFAULT CHARSET=utf8

技术分享图片

4 检查ES索引是否创建如:

ES添加索引,参考?cjksearch工程note目录下的创建索引脚本:如图:

??????

技术分享图片

索引是否存在:

技术分享图片

5 数据同步

同步会员表,会员表同步为增量同步

http://ip:61280/cjksearch/essearch/sync.do?dp_id_start=249&dp_id_end=250&table=249_account

同步销售表,销售表同步先删除历史数据,然后再同步,如果不删除历史数据直接覆盖就添加delete=false

http://ip:61280/cjksearch/essearch/sync.do?dp_id_start=249&dp_id_end=250&table=249_drug_sale&delete=false

同步会员和销售:

http://ip:61280/cjksearch/essearch/sync.do?dp_id_start=249&dp_id_end=250

以上是关于数据同步ES的主要内容,如果未能解决你的问题,请参考以下文章

Mysql和ES数据同步方案汇总

ES数据同步&集群

[es和数据库怎么同步]mysql与elasticsearch实时同步常用插件及优缺点对比(ES与关系型数据库同步)

mysql同步数据到es

[es同步数据库方式]mysql同步数据到es有什么好的方法没

将 mysql 数据同步到 Elasticsearch