详细: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日志
数据导入参考:
-
顶
- 2
-
踩