使用Elasticsearch-jdbc为MySQL数据库建立索引
2016-04-26 11:29
549 查看
elasticsearch-jdbc
环境
Ubuntu 14.04JDK 1.8.0_66
Elasticsearch 2.3.1
Elasticsearch-jdbc 2.3.1.0
Elasticsearch单节点环境
进入es目录~/cluster/elasticsearch-2.3.1
下载elasticsearch-jdbc包,并解压
$ wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.1.0/elasticsearch-jdbc-2.3.1.0-dist.zip $ unzip elasticsearch-jdbc-2.3.1.0-dist.zip
数据库中的数据
数据位于10.110.1.47:3306下的ispider_data数据库,表名为es_test共三条数据如下:
id name 4 zhangsan 2 lisi 3 wangwu
编辑数据导入脚本import.sh
vi import.sh 输入: bin=/home/es/cluster/elasticsearch-2.3.1/elasticsearch-jdbc-2.3.1.0/bin lib=/home/es/cluster/elasticsearch-2.3.1/elasticsearch-jdbc-2.3.1.0/lib echo '{ "type" : "jdbc", "jdbc": { "url":"jdbc:mysql://10.110.1.47:3306/ispider_data", "user":"root", "password":"xxx", "sql":"select * from es_test", "index" : "customer", "type" : "external" }}' | java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter
上述,将MySQL中的数据建立为es中索引为customer,类型为external中。
查询索引
es@search1:~/cluster/elasticsearch-2.3.1$ curl 'localhost:9200/customer/external/_search?pretty&q=*'
结果显示:
{ "took" : 6, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 3, "max_score" : 1.0, "hits" : [ { "_index" : "customer", "_type" : "external", "_id" : "AVQ8--xAkvh0m5n1OUEo", "_score" : 1.0, "_source" : { "id" : "4", "name" : "zhangsan" } }, { "_index" : "customer", "_type" : "external", "_id" : "AVQ8--xBkvh0m5n1OUEq", "_score" : 1.0, "_source" : { "id" : "3", "name" : "wangwu" } }, { "_index" : "customer", "_type" : "external", "_id" : "AVQ8--xBkvh0m5n1OUEp", "_score" : 1.0, "_source" : { "id" : "2", "name" : "lisi" } } ] } }
可见,_source中的各个字段field,与数据库中的各列对应。
注意,_source中的id是es_test表中的id列,索引中document的id是自动生成的,二者并不一样。
至此,从数据库MySQL导入ES建立索引的过程就完成了。
参考资料
http://www.voidcn.com/blog/kdchxue/article/p-5778237.html相关文章推荐
- MySQL数据文件介绍及win下存放位置
- MySQL启动参数(一) —— init_file
- MySQL解决SQL注入的另类方法详解
- mysql中索引的使用
- mysql5.6.x GTID主从复制配置
- 进阶级-多MYSQL数据库 同步数据
- find_in_set mysql
- Mysql查询数据库和数据库表所占空间
- MySQL修改my.cnf配置不生效的解决方法
- MySQL主从复制
- MySQL的基础操作
- MYSQL 中binlog 参数的记录
- mysql-性能,命令-explain,show processlist,show
- mysql 5.7.12 免安装版,windows 配置
- MySQL在线DDL工具pt-online-schema-change
- MySql为何默认不用hash索引而用BTree索引的几点原因
- 关于mysql锁表的几种形式
- 使用PowerDesigner设计建造MySQL数据库
- mysql视图
- mysql 5.7版本安装(解压版)