当前位置:   article > 正文

ElasticSearch入门(四)ElasticSearch索引类型、文档和数据同步_es的索引就是一张表吗

es的索引就是一张表吗

前言

      本章讲解索引类型、文档和数据同步的相关知识

方法

1.概念

按照之前的理解,我们索引相当于数据库服务器的一个数据库,索引类型相当于数据库的一张表,而文档相当于一行数据。

这样的理解当然无可厚非,但实质上这是不建议的。ES中索引类型建议一个索引只允许有一个,这也是目前官方给出的意见,我认为这样是比较合理的,我们之后的例子都将如此。

2.索引类型、文档

我们尝试使用命令来创建索引对应的类型,这次我们创建一个新的索引,名为test01。并为它创建类型为type01。

创建test01索引如下:

创建索引类型并指定一条文档:

 

查询test01索引下的文档:

由此可见我们成功创建了索引的类型并且插入了一条文档。

通过查询依然可以查询的到这条文档:

3.数据同步

与Solr一样,ES同样需要定时的从其他关系型数据库中读取数据。

1)我们需要下载一个客户端辅助我们进行数据同步,那就是logstash

网址:https://www.elastic.co/downloads/logstash

下载对应ES版本的LogStash

 解压后目录如下所示:

2)将数据库驱动包放入lib文件夹中,我们这次用的是oracle

 

3)编写LogStash配置文件名称为jdbc.config放入config文件夹下

 jdbc.config文件内容如下所示:

  1. input{
  2. stdin{
  3. }
  4. jdbc{
  5. jdbc_connection_string => "jdbc:oracle:thin:@localhost:1521:orcl"
  6. jdbc_user => "scott"
  7. jdbc_password => "tiger"
  8. jdbc_driver_library => "D:\study\logstash-6.6.0\lib\ojdbc6.jar"
  9. jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
  10. jdbc_paging_enabled => "true"
  11. jdbc_page_size => "5000000" #分页导入量
  12. statement => "select * from users" #选定具体需要导入的表信息SQL
  13. schedule => "* * * * *" #执行计划时间策略,分、时、天、月、年,最小间隔是1分钟。该配置的就是1分钟。
  14. type => "users" #仅为一个标识,可以用来标识表名
  15. }
  16. }
  17. output{
  18. elasticsearch{
  19. hosts => "localhost:9200" #ES服务器地址
  20. index => "test01" #ES索引名称
  21. document_type => "type01" #ES索引类别,不指定将是doc
  22. document_id => "%{id}" #ES文档id,采用数据库字段的id
  23. }
  24. }

3)进入LogStash的bin目录执行如下命令

出现如下界面代表导入成功:

 4)进入kibana查询结果

如此,证明我们导入了六条数据,我们去数据库中看一下

 

证明我们的导入是非常成功的!! 

特别的:logstash默认将每分钟查询一次进行数据同步,如需配置多个表的同步,则可以配置多个jdbc块即可!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/981312
推荐阅读
相关标签
  

闽ICP备14008679号