[es数据同步到数据库]数据库数据倒入es(一)
作者:互联网
昨天完成设置爬虫的任务后,今天又要开始es的学习了,捣鼓了这几天,方法都是错误的,跟需求不一样。
领导昨天给了我参考的代码,今天带着参考的代码继续学习。
之前连接数据库用的是logstash,也可以用kafka带的包,但是我们的需求要灵活并且需要稳定,所以需要自己写一个数据库的连接,正好昨天用到了jdbctemplate,今天就用上了。
首先是jdbctemplate连接数据库,就不详细写了,然后是将数据写成json格式,使用的是alibaba的fastjson库
首先是导入pom:
然后直接使用put方法就可以了,非常的简单,下面是我的转化类:
下面是测试的部分:
然后后面是重头戏,使用es的javaRESTapi来访问es,为什么呢,虽然es带有javaapi,但是会引起版本兼容性的问题,以及微弱到可以忽略的性能提升,并且javaapi在未来的es版本会放弃,官方推荐使用javaTESTapi。可怜我前几天看了那么多javaapi的东西啊。
javaRESTapi就是通过http访问,走9200端口(javaapi是9300端口)。
过程是:将从数据库获得的数据转化成json,然后通过http的post,get,put方法,将json传到es中,实现对es的访问。
首先是http的post方法(暂时只实现了post,其他的以后补上)
大概的过程就是将json语句打成包,然后发出去,这块没怎么理解,以后多看看。
之后就是建立索引。首先先建立一个没有mapping的索引,直接向es发送url:port/indexName实现
然后向这个索引里面添加mapping字段,
以上是第一阶段内容。
总结:重点理解json的打包和http的post,put,get过程。复习jdbc的应用
?
?
?
?
?
?
?
?
?
?
?
标签:http,数据库,倒入,json,javaapi,post,es 来源: https://www.cnblogs.com/sqlserver-mysql/p/12718845.html