Elasticsearch 2.3.3 搜索引擎的elasticsearch-jdbc插件安装

点点圈 提交于 2019-12-10 07:51:53

Elasticsearch 2.3.3的jdbc插件安装跟之前的版本是不一样的,之前的版本,网上的内容介绍的都是elasticsearch使用river同步mysql数据 ,哪些都是老的文章了,最新的版本是不适用的。那么我们如何从数据库导入数据呢?其实安装 Elasticsearch 2.3.3 的JDBC插件很简单,只不过,安装完以后的配置,稍微有些麻烦。

第一步:下载JDBC链接包

具体可以执行下面的命令:

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.zip

unzip elasticsearch-jdbc-2.3.3.0-dist.zip

第三步:进入elasticsearch-jdbc-2.3.3.0/bin目录

我们看到下面有很多链接数据库的样例文件。

我们以MSYQL为例,做一个基本的介绍。

第四步:编辑mysql-blog.sh,修改成如下的样子。

#!/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 集群,但是没有建立索引。

我们可以再head插件中新建索引.

索引创建成功后,我们可以在 “概览”里面看到新建的索引。

 

暂且不表分片和复制。我们看到我们成功了创建了一个hotel索引,目前索引中文档个数为0.

第六步,执行刚才修改的mysql-blog.sh脚本。

执行之前确定你的Mysql数据库已经启动,并且数据库的链接账号和密码存在。

我的数据库中是5W条酒店的数据。

脚本执行完成后,5W条数据从导入到索引创建完成,大约是2分钟,速度还是蛮快的。,我们再次查看head插件,可以看到,文件个数已经发生了变化。

好了,本篇文章就写到这里,其实ElasticSerach-jdbc导入数据还有很多的参数。

大家可以看https://github.com/jprante/elasticsearch-jdbc 文章,或者点击链接观看 数航教育的在线视频教程

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!