使用Elasticsearch-jdbc为MySQL数据库建立索引
2016-08-05 10:58
381 查看
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":"123456a?", "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相关文章推荐
- 使用Elasticsearch-jdbc为MySQL数据库建立索引
- mysql数据库正确建立索引及使用
- 使用mysql数据库是检测建立的索引是否生效的检测方法及相关参数说明
- mysql数据库正确建立索引及使用
- ElasticSearch学习:logstash安装并使用logstash-jdbc-input与mysql数据库同步
- elasticsearch-jdbc 使用数据库数据创建索引
- Lucene3.4实现从mysql数据库中导出数据,建立索引
- 如何正确合理的建立MYSQL数据库索引
- mysql数据库建立,使用方法,常用数据类型
- spring开发_JDBC操作MySQL数据库_使用xml配置事务管理
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
- 对千万级MySQL数据库建立索引的事项及提高性能的手段
- 使用NOSQL的MongoDB建立索引时需要注意的几点建议和Explain优化分析
- Lucene2.0中使用基于词典的中文分词器建立索引
- 使用索引的误区之六:为索引列都建立索引
- sqlserver2005中全文索引的建立和使用
- Excel数据使用jdbc直接插入Mysql数据库
- 使用Apache Solr对数据库建立索引(包括处理CLOB、CLOB)
- Java 使用jdbc:odbc 建立无源连接access数据库
- 使用JDBC建立各种数据库的连接方式集萃