elasticsearch从mysql导入数据

详细:https://github.com/jprante/elasticsearch-jdbc(最下面有各数据库的导入方法说明)

elasticsearch版本为2.3.3

1、下载 elasticsearch-jdbc 
  wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.3.1/elasticsearch-jdbc-2.3.3.1-dist.zip

2、解压 elasticsearch-jdbc 2.3.3.1
   unzip elasticsearch-jdbc-2.3.3.1-dist.zip

3、配置 elasticsearch-jdbc 2.3.3.1
   新建一个import_mysql.sh文件

      #!/bin/sh

bin=/usr/local/es/plugins/elasticsearch-jdbc-2.3.3.1/bin

lib=/usr/local/es/plugins/elasticsearch-jdbc-2.3.3.1/lib

java -cp "${lib}/*" -Dlog4j.configurationFile=${bin}/log4j2.xml org.xbib.tools.Runner org.xbib.tools.JDBCImporter jdbc_mysql.json

  新建jdbc_mysql.json文件:
  {
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:mysql://xxxx:3306/test",
        "user" : "xxxx",
        "password" : "xxxx",
        "sql" :  "select * from test",
        "treat_binary_as_string" : true,
        "elasticsearch" : {
             "cluster" : "elasticsearch",
             "host" : "xxx.xxx.xxx.xxx",
             "port" : 9300
        },
        "index" : "mysql",
        "type": "base",
        "id": "1"
      }
   }

4、执行导入
   ./import_mysql.sh

5、测试导入结果
    http://xxxx:9200/mysql/test/_search/?q=name:"牛肉面馆"

*注意导入不同的表时修改sql和type

增量导入数据:(自带定时更新不符合)

请注意增量导入sql串的写法,

“select * from mon where tTime >\”2015-12-21 04:59:59\” “,而不是

“select * from mon where tTime >‘2015-12-21 04:59:59’ “

导入不成功可以去目录下看log日志

数据导入参考:

http://www.open-open.com/lib/view/open1431071580335.html

2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值