# mysql-es-sync **Repository Path**: jonluo/mysql-es-sync ## Basic Information - **Project Name**: mysql-es-sync - **Description**: mysql elasticsearch 同步数据,全文检索 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-05-22 - **Last Updated**: 2024-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### mysql elasticsearch 同步数据,全文检索 工具 * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) 通过binlog同步工具 * [elasticsearch-analysis-ik](https://github.com/medcl/elasticsearch-analysis-ik) 中分分词 版本 * Mysql 5.7 * Elasticsearch 5.6.8 前提 * go * docker 步骤 * go get github.com/siddontang/go-mysql-elasticsearch * cd $GOPATH/src/github.com/siddontang/go-mysql-elasticsearch * 将bin下的go-mysql-elasticsearch复制到项目bin中 * 把mysql的mysqldump工具也复制到项目bin中 * mysql-config/mysqld.cnf 用于映射到mysql容器里开启binlog * sync-config/river.toml 用于go-mysql-elasticsearch的同步配置 * 下载elasticsearch-analysis-ik分词到es-plugins/ik用于全文检索分词插件 * es-plugins/dict用于获取搜狗的词库转化为ik的词典(含例子) 运行容器和建表建索引(包含启动) ``` ./run.sh ``` 启动同步 ``` ./start.sh ``` 测试 进入mysql ``` docker exec -it es-mysql bash mysql -uroot -p123456 use mylaw; INSERT INTO `mylaw`.`law` (`id`, `title`, `remark`, `content`, `type`) VALUES ('1', 't', 'r', 'c', 0); ``` 查看数据 http://localhost:9200/mylaw/law/_search 查看索引 http://localhost:9200/mylaw 查看mapping http://localhost:9200/mylaw/law/_mapping