elasticsearch学习笔记——相关插件和使用场景
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学习笔记——相关插件和使用场景的更多相关文章
- ElasticSearch学习笔记(超详细)
文章目录 初识ElasticSearch 什么是ElasticSearch ElasticSearch特点 ElasticSearch用途 ElasticSearch底层实现 ElasticSearc ...
- amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
- amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...
- Elasticsearch学习笔记一
Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...
- amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
- amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
- Elasticsearch学习笔记三
PS:前面两章已经介绍了ES的基础及REST API,本文主要介绍ES常用的插件安装及使用. Elasticsearch-Head Head是一个用于管理Elasticsearch的web前端插件,该 ...
- ElasticSearch学习笔记-02集群相关操作_cat参数
_cat参数允许你查看集群的一些相关信息,如集群是否健康,有哪些节点,以及索引的情况等的. 检测集群是否健康 curl localhost:9200/_cat/health?v 说明: curl 是一 ...
- ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件
ElasticSearch的索引可以手动添加索引的,就是类似下面这样添加的 PUT /movies/movie/1 { "title": "The Godfather&q ...
随机推荐
- 配置samba 服务器 共享Linux目录
配置samba 服务器 共享Linux目录 1.安装: yum install -y samba* 2.修改配置文件 vim /etc/samba/smb.conf [web] path = /usr ...
- Linux中计划任务、周期性任务设置
Linux中计划任务.周期性任务设置 计划任务:指在未来的特定时间里,执行一次某一特定任务.当然,如果同一任务需要在不同时间点执行执行两次.三次或多次,可以视为多个一次看待. 周期性任务:指某一任务需 ...
- leetcode-algorithms-29 Divide Two Integers
leetcode-algorithms-29 Divide Two Integers Given two integers dividend and divisor, divide two integ ...
- python 小练习4
给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个连续子序列,使其和最大,输出最大子序列的和. 例如,对于L=[2,-3,3,50], 输出53(分析:很明显,该列表最大连续子序 ...
- C# 条件表达式max=(a>b)?a:b;含义
a?b:c 这个是条件表达式,表示如果a为真,则表达式值为b,如果a为假,则表达式值为c条件表达式具体说明如下条件语句: if(a>b) max=a; else max=b; 可用条件表达式写为 ...
- JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
appletviewer.exe(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器 apt.exe:SolarisTM 操作系统和 Linux上用于处理注释的工具 extche ...
- 数据结构与算法之PHP查找算法(哈希查找)
一.哈希查找的定义 提起哈希,我第一印象就是PHP里的关联数组,它是由一组key/value的键值对组成的集合,应用了散列技术. 哈希表的定义如下: 哈希表(Hash table,也叫散列表),是根据 ...
- Oracle12c中容错&性能新特性之表空间组
1. 简介 表空间组可以使用户消耗来自多个表空间的临时表空间.表空间组有如下特点: 1) 至少包含一个表空间.表空间组中包含的最大表空间数没有限制. 2) 和表空间共 ...
- PyCharm+Qt Designer+PyUIC安装配置教程
Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...
- windows安装weblogic并集成到eclipse
1.下载 java是跨平台的,所以windows下载和linux一样的jar文件安装就行,当然也可以使用windows安装程序来安装. (weblogic下载不需要购买--oracle产品都是补丁和技 ...