logstash-input-jdbc学习

  ES(elasticsearch缩写)的一大优点就是开源,插件众多。所以扩展起来非常的方便,这也造成了它的生态系统越来越强大。这种开源分享的思想真是与天朝格格不入啊。国内的开源社区做了也很长时间,可是也没出现什么拿的出手的东西,可能只还有阿里比较注重分享一些。

  ES的查询速度非常快,搜索非常快。但是呢,我们的数据还是主要存在传统的关系型数据库中的。有没有什么办法可以将数据库中的数据实时同步到ES中呢。logstash就是这么一个东西。

Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。

  安装好Logstash,再安装好logstash-input-jdbc插件,再安装好mysql-connector-java-6.0.6.jar插件就可以实时将mysql中的数据同步到ES中。安装过程参考:ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件

  logstash-input-jdbc可以配置实行增量同步还是实行全量同步,增量同步是基于时间还是基于某一个字段的变化值。可以参考:logstash-input-jdbc 同步原理及相关问题解读。非常方便。

中文分词插件

  ES上有不少的中文分词插件,能够对存储的数据进行分词,以应对搜索的请求。使用比较广泛的是ik。它的github地址。上面有关于安装,使用的完整介绍。甚至可以使用对于搜索的内容采用不同的分词器,非常的方便。参考

使用场景

  何时使用elasticsearch呢?

  • 将ES作为后端唯一的存储。优点是简化数据存储的逻辑结构,没有数据同步问题。这种方式比较激进。ES没有事务的机制,对于频繁的更新效率也不好。大型的项目不建议这样做。
  • 搜索功能。这也是一个主要的作用。将网站的搜索部分单拿出来,用ES来实现。既提高了搜索的效率,又对原来的数据存储和逻辑机构没有影响。例如对于产品的搜索,站内搜索等。效率非常高。
  • 使用elasticsearch和现有的工具相结合。由于ES是开源的,很多工具都可以与ES一起工作,你不必从来开始编码。假设要部署一个大规模的日志框架存储,搜索,并进行分析。处理日志和输出到Elasticsearch,可以用Rsyslog来建立日志,logstash传输日志到ES,搜索和可视化界面分析这些日志,可以使用Kibana。  

总结

  以上两篇日志,对于什么是ES,ES的安装,ES的应用场景,ES的相关插件有了一个大概的了解。以后如果工作中涉及到,对于是否选用,如何实施,就不会无所适从。

参考资料:

ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件

elasticsearch学习笔记——相关插件和使用场景的更多相关文章

  1. ElasticSearch学习笔记(超详细)

    文章目录 初识ElasticSearch 什么是ElasticSearch ElasticSearch特点 ElasticSearch用途 ElasticSearch底层实现 ElasticSearc ...

  2. amazeui学习笔记--js插件(UI增强)--警告框Alert

    amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...

  3. amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown

    amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...

  4. Elasticsearch学习笔记一

    Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...

  5. amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse

    amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...

  6. amazeui学习笔记--js插件(UI增强2)--按钮交互Button

    amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...

  7. Elasticsearch学习笔记三

    PS:前面两章已经介绍了ES的基础及REST API,本文主要介绍ES常用的插件安装及使用. Elasticsearch-Head Head是一个用于管理Elasticsearch的web前端插件,该 ...

  8. ElasticSearch学习笔记-02集群相关操作_cat参数

    _cat参数允许你查看集群的一些相关信息,如集群是否健康,有哪些节点,以及索引的情况等的. 检测集群是否健康 curl localhost:9200/_cat/health?v 说明: curl 是一 ...

  9. ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件

    ElasticSearch的索引可以手动添加索引的,就是类似下面这样添加的 PUT /movies/movie/1 { "title": "The Godfather&q ...

随机推荐

  1. 前端数据交互之json&ajax

    1.json json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据 ...

  2. 如何开发mis系统--整理

    1.含义: 所谓MIS(管理信息系统--Management Information System)系统,主要指的是进行日常事务操作的系统.这种系统主要用于管理需要的记录,并对记录数据进行相关处理,将 ...

  3. JS保留小数 去尾法 进一法 四舍五入法

    //toFixed 四舍五入遇到坑. 1.235.toFixed(2) = 1.23 1.2350001.toFixed(2) = 1.24 //去尾法 Number.prototype.toFloo ...

  4. PAT 1013 Battle Over Cities

    1013 Battle Over Cities (25 分)   It is vitally important to have all the cities connected by highway ...

  5. 使用SpringBoot集成ActiveMQ

    SpringBoot是个好东西,好多java常用的东西都被集成进去了 JMS 在 Spring Boot 中的使用 使用Spring/Spring Boot集成JMS的陷阱 Spring-boot J ...

  6. vuex状态持久化

    npm install vuex-persistedstate 在store.js里 import createPersistedState from 'vuex-persistedstate' co ...

  7. Java 类名.class与类名.this 的区别?

    “类名.this”的语法在Java语言中叫做“qualified this”.相关规定在这里:Chapter 15. Expressions - Qualified this这个语法的主要用途是:在内 ...

  8. jackSon注解– @JsonInclude 注解不返回null值字段

    @Data @JsonInclude(JsonInclude.Include.NON_NULL) public class OrderDTO { private String orderId; @Js ...

  9. std::string find 的返回值

    std::string  的方法 find,返回值类型是std::string::size_type, 对应的是查找对象在字符串中的位置(从0开始), 如果未查找到,该返回值是一个很大的数据(4294 ...

  10. 摄像头录制视频并且保存成mp4

    import cv2import numpy as npimport os cap = cv2.VideoCapture(1)#v4l2-ctl --list-devices 查看设备号,非正常中断时 ...