ElasticSearch 入门简介
公号:码农充电站pro
主页:https://codeshellme.github.io

ElasticSearch 是一款强大的、开源的、分布式的搜索与分析引擎,简称 ES,它提供了实时搜索与聚合分析两大功能。
使用 ES 可以构建可扩展的搜索应用,从而帮助我们在海量数据中,快速找到想要的内容。
elastic 的含义是灵活的,有弹性的。
1,ES 的诞生与发展
ES 是基于 Lucene 开发的一款搜索应用。
Lucene 是一个基于 Java 语言的搜索引擎库,它由 Doug Cutting 创建于 1995 年,并于 2005 年成为 Apache 顶级开源项目。

(上图为 Doug Cutting )
Doug Cutting 就是大名鼎鼎的 Hadoop 之父。
虽然 Lucene 非常强大,但它只是一个 Java 类库,而且学习成本较高。
ES 的创始人 Shay Banon 在 2004 年,基于 Lucene 创建了一个开源项目 Compass,后于 2010 年改名为 ElasticSearch。

(上图为 Shay Banon )
从一开始 ES 就具备了可扩展,分布式,易用的特点,ES 的这些优点使得它很快的流行开来。
Shay Banon 在 2010 年发布了 ES 的第一个版本,并于 2012 年成立了公司,来提供更加完善的产品和服务。
2015年,公司名称从 Elasticsearch 改为 Elastic。因为此时,公司的杀手级产品已经不仅仅是 Elasticsearch 了,而且还包括了 Logstash 和 Kibana,这三款应用统称为 ELK。
2018年,Elastic 在纽交所成功上市,如今的市值早已过百亿美元。
ES 的重要版本发布时间表
| 发布时间 | 版本 |
|---|---|
| 2010 年 2 月 | 第一个版本 0.4 发布 |
| 2014 年 1 月 | 1.0 版 |
| 2015 年 10 月 | 2.0 版 |
| 2016 年 10 月 | 5.0 版 |
| 2017 年 10 月 | 6.0 版 |
| 2019 年 4 月 | 7.0 版 |
关于 Elastic 产品的生命周期可参考这里。
2,ES 产品家族
Elastic 公司围绕 ElasticSearch,有着丰富的产品家族,叫作 ELK Stack,其中包含了 4 个产品:
- Kibana:用于数据可视化。
- 由 Rashid Khan 创建,2013 年被 Elastic 收购。
- ElasticSearch:ELK Stack 的核心组件,具有数据搜索与聚合能力。
- Beats:轻量型数据采集器,基于 Golang 开发。
- Logstash:用于数据采集,支持从不同的数据源采集数据及转换数据。
- 由 Jordan Sisel 创建于 2009 年,2013 年被 Elastic 收购。
这四款产品的层级关系如下:

3,ES 使用架构
将 ES 应用到项目中时,可以有两种架构,一种是使用 ES 作为唯一的后端;另一种是 ES 与数据库系统配合,一同作为后端。
ES 作为唯一后端
ES 作为一个现代化的搜索引擎,它本身除了拥有检索功能外,还拥有存储功能。因此,在一个不复杂的项目中,可以将 ES 作为唯一的后端来使用。

ES 与数据库系统配合
在比较复杂的项目中,ES 无法提供传统数据库的所有功能(比如事务处理),因此需要将 ES 和传统数据库来配合使用。

4,ES 的竞争对手
ES 主要有 Solr 和 Splunk 两个竞争对手。

Solr 也是基于 Lucene 的一款搜索引擎,Lucene 与 Solr 已于 2010 年合并成为 Apache 的顶级项目。
Splunk 是一个专业的数据处理平台。
目前在 DB-Engines 的搜索引擎排名中,SE、Splunk、Solr 分别位于第一、二、三名。

5,ES 的应用
ES 客户端接口
ES 支持丰富的 Clients 接口可与其进行交互,使得开发者可以用多种编程语言,多种方式进行接入。
ES 企业应用

目前你所熟知的很多应用都使用了 ES 来提供搜索功能,比如 GitHub,Wikipedia 等。
ES 云服务商
很多大的云服务商都提供了 ES 托管服务,比如谷歌,微软,亚马逊,阿里巴巴等。
6,ES 官方文档
这里是 Elastic 所有产品的学习文档。

7,总结
ES 是一款强大的搜索引擎系统,我们可以基于它为用户提供搜索功能。
ES 提供了丰富的客户端接口和 ELK Stack 产品家族供开发者使用,极大的降低了企业构建搜索服务的难度。
ELK Stack 被广泛应用于搜索、日志管理、安全分析、指标分析、业务分析、性能监控等领域。
下一节将介绍 ES 的安装及简单使用。
(本节完。)
欢迎关注作者公众号,获取更多技术干货。

ElasticSearch 入门简介的更多相关文章
- ElasticSearch入门简介
ElasticSearch是基于Apache Lucene的分布式搜索引擎, 提供面向文档的搜索服务.本文以6.2.3版本为例介绍ElasticSearch的应用. 本文首先介绍ElasticSear ...
- ElasticSearch 入门
http://www.oschina.net/translate/elasticsearch-getting-started?cmp ElasticSearch 简单入门 返回原文英文原文:Getti ...
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- ElasticSearch 入门总结
ElasticSearch 入门 本篇为 ElasticSearch 入门学习总结笔记,课程视频地址:ElasticSearch 入门 一.ElasticSearch 简介 1.1.什么是Elasti ...
- ElasticSearch入门 :Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- [转帖]Flink(一)Flink的入门简介
Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...
- 转载:elasticsearch入门篇
转自:https://www.cnblogs.com/hello-shf/p/11543408.html elasticsearch入门篇 elasticsearch专栏:https://www. ...
- Elasticsearch入门教程(三):Elasticsearch索引&映射
原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...
- 掌握 Ajax,第 1 部分: Ajax 入门简介
转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...
随机推荐
- java13编程基础之数组深入
大纲一维数组概述数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们. 这些按序排列 ...
- LeetCode707 设计链表
设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一个属性 ...
- 浅谈JVM垃圾回收
JVM内存区域 要想搞懂啊垃圾回收机制,首先就要知道垃圾回收主要回收的是哪些数据,这些数据主要在哪一块区域. Java8和Java8之前的相同点有很多. 都有虚拟机栈,本地方法栈,程序计数器,这三个是 ...
- MyBatis 查询的时候属性名和字段名不一致的问题
目录 问题 解决方案:resultMap 问题 当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题 数据库字段是 pwd id name pwd 1 张三 123456 2 李四 1234 ...
- FI_F4_ZTERM付款条件代码
这个函数可以弹出一个选择帮助,返回一个付款条件代码 CALL FUNCTION 'FI_F4_ZTERM' EXPORTING I_KOART = 'K' " K为供应商,D为客户 * I_ ...
- 2.4V升5V芯片,8uA功耗,低功耗升压电路图
2.4V升5V,可用于USB拔插充电,也可以用于把两节镍氢电池2.4V升压到5V,的固定输出稳压电压值,同时输出电流可达1A,0.5A等 首先是先说下0.5A的这款的话,是比较低功耗的,8uA左右的输 ...
- Centos7.4 小白式安装(初学)
虚拟机安装Centos7.4系统 适用人群(初学者) 下载Centos7.4镜像 https://pan.baidu.com/s/1NtjfdHV3OWAvfDj5vrR7HQ 提取码:hzzw 虚 ...
- QT串口助手(三):数据接收
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的接收 ascii字符形式显示与hex字符形式显 ...
- Flink可靠性的基石-checkpoint机制详细解析
Checkpoint介绍 checkpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因(如 异常退出)出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保 ...
- 糊糊的学习笔记--Fiddle抓包
Fiddle简述 Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的&q ...