Elasticsearch 2.3.3的jdbc插件安装跟以前的版本是不同的,以前的版本,网上的内容介绍的都是elasticsearch使用river同步mysql数据 ,哪些都是老的文章了,最新的版本是不适用的。那么咱们如何从数据库导入数据呢?其实安装 Elasticsearch 2.3.3 的JDBC插件很简单,只不过,安装完之后的配置,稍微有些麻烦。java
第一步:下载JDBC连接包mysql
具体能够执行下面的命令:git
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.3.0/elasticsearch-jdbc-2.3.3.0-dist.zip
第二步: 解压 elasticsearch-jdbc-2.3.3.0-dist.zipgithub
unzip elasticsearch-jdbc-2.3.3.0-dist.zip
第三步:进入elasticsearch-jdbc-2.3.3.0/bin目录sql
咱们看到下面有不少连接数据库的样例文件。数据库
咱们以MSYQL为例,作一个基本的介绍。json
第四步:编辑mysql-blog.sh,修改为以下的样子。bash
#!/bin/sh DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" bin=${DIR}/../bin lib=${DIR}/../lib echo ' { "type" : "jdbc", "jdbc" : { "url" : "jdbc:mysql://192.168.1.100:3306/hotel?useUnicode=true&characterEncoding=gbk", "statefile" : "statefile.json", "user" : "root", "password" : "root", "sql" : "select * from hotel", "index" : "hotel", "type" : "hotel", "elasticsearch" : { "cluster" : "elasticsearch", "host" : "192.168.133.134", "port" : 9300 } } } ' | java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter
上述脚本的意思是:连接192.168.1.100这个机器上的hotel数据库,将此数据库中的hotel数据所有导入到hotel索引中。导入的集群名称是elasticsearch,搜索引擎访问地址是192.168.133.132.elasticsearch
第五步,结合以前的内容,咱们搭建了 elasticsearch 集群,可是没有创建索引。oop
咱们能够再head插件中新建索引.
索引建立成功后,咱们能够在 “概览”里面看到新建的索引。
暂且不表分片和复制。咱们看到咱们成功了建立了一个hotel索引,目前索引中文档个数为0.
第六步,执行刚才修改的mysql-blog.sh脚本。
执行以前肯定你的Mysql数据库已经启动,而且数据库的连接帐号和密码存在。
个人数据库中是5W条酒店的数据。
脚本执行完成后,5W条数据从导入到索引建立完成,大约是2分钟,速度仍是蛮快的。,咱们再次查看head插件,能够看到,文件个数已经发生了变化。
好了,本篇文章就写到这里,其实ElasticSerach-jdbc导入数据还有不少的参数。
你们能够看https://github.com/jprante/elasticsearch-jdbc 文章,或者点击连接观看 数航教育的在线视频教程