内容简介:作者 | 阮一鸣在大数据时代,搜索是软件工程师的一项必备技能。而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎,在同领域内几乎没有竞争对手——近两年 DB-Engines 的数据库评测中,Elasticsearch 在搜索引擎领域始终位列第一
作者 | 阮一鸣
在大数据时代,搜索是软件工程师的一项必备技能。而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎,在同领域内几乎没有竞争对手——近两年 DB-Engines 的数据库评测中,Elasticsearch 在搜索引擎领域始终位列第一 。
Elasticsearch 不仅可以从 海量数据中快速找到相关信息 ,还被广泛运用于 大数据近实时分析 ,包括日志分析、指标监控、信息安全等多个领域。
它可以探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过机器学习自动识别异常状况。
作为 目前最流行的开源搜索引擎 ,Elasticsearch 在全球的下载量已超过 3.5 亿次。腾讯、滴滴、今日头条、饿了么、360 安全、小米,vivo 等 国内诸多知名公司 都在使用 Elasticsearch。
哪些人适合学习 Elasticsearch?
学习 Elasticsearch 的同学来自不同的工作岗位,具体可分为以下几类:
-
软件工程师:熟练掌握一门或多门编程语言,希望通过 Elasticsearch 提升搜索性能,实现分布式存储;通过学习 ES 的搜索与聚合 API,了解如何进行数据建模,在保证高性能获取数据的基础上,获得更为精准匹配的搜索结果。
-
运维工程师:同时管理几十万台服务器,保证服务的高可用,是运维工程师面临的最大挑战。通过学习 Elastic Stack,使用 Logstash、Kibana 解决运维工作中的日志分析,安全告警,指标监控等实际需求。
-
任何想拿数据做点事的人:在大数据时代,数据获取易如反掌。但当你想用数据做实时分析或决策时,才发现传统技术并不能很好地解决你的实际需求。
学习 Elasticsearch 需要什么基础?
1.Elasticsearch 具有 开箱即用 的特性, 5 分钟 就可以在笔记本上搭建好开发环境。
2.掌握任意一门编程语言,会让你学习起来更加简单,但这 并不是必须的 。
3. SQL 和关系数据库的使用经验 ,会帮助你的学习与理解。
如何学习 Elasticsearch?
我设计了一份 Elasticsearch 的学习路径 ,并列出了每一阶段的 学习目标 ,适用于不同背景和基础的同学。
按照以下路径学习,结合课程中的练习和实践,你一定能学以致用,基于 Elasticsearch 构建出你 自己的搜索和数据分析产品 。
1.入门阶段
-
掌握 Elasticsearch 的基本概念
-
理解倒排索引和文本 Analysis
-
设置索引 Mapping
-
掌握查询与聚合 API
2. 进阶阶段
-
深入相关性算分
-
掌握如何提高搜索质量
-
Elasticsearch 的数据建模与优化
-
理解集群分布式工作原理
-
深入理解分片的工作机制
-
Elasticsearch 源码解析与插件开发
3. 运维实践
-
选择合适的部署架构
-
集群监控与性能优化
-
集群容量规划与水平扩展
-
集群诊断及故障排查
4. 综合实战
-
掌握 Elastic Stack 产品功能特性
-
深入理解用户场景,选择合理架构
-
理解数据特征,优化集群部署与数据建模
为了让大家聚焦每个阶段的学习重点,这里我没有对细节做进一步展开。但我整理了一份 「Elasticsearch 核心知识图谱」 ,内容涵盖了功能,原理,扩展及运维等多个方面,确保你不会疏漏任何一个知识点 【领取方法: 见文末】
当然,我更建议你在学习的过程中,对所学的知识加以归纳总结,整理出属于自己的知识图谱。
书籍与相关资料推荐
Elasticsearch 权威指南
本书完全对得起“权威指南”四个字,强烈推荐。美中不足的是:内容基于 Elasticsearch 2.x 讲解,部分内容过时。以及,对新人来说,书中的范例代码无法直接拷贝运行。建议先泛读本书,读完 《Mastering Elasticsearch 5.x》 之后,再精读一遍。
Mastering Elasticsearch 5.x
Elasticsearch 5.0 是 Elasticsearch 2.x 之后的一个大版本,内容有很大的改进。如果想对 5.0 以后的功能特性和新 API 有一个比较全面的了解,推荐阅读本书。可以选择泛读,或直接阅读 Elasticsearch 7.1 的 API 文档。
Deep Learning for Searc h
本书主要讲解如何通过神经网络,来提高搜索的相关性。如果你对提高搜索结果的相关度有兴趣,推荐你读一读这本书。
技术社区和学习资源推荐
Elastic 公司的技术 Blog
https://www.elastic.co/cn/blog/
推荐订阅,特别是 “案例”和“工程”的分类。通过相关的案例分享和工程实践,可以帮助你建立更好的全局观。
Elastic 中文社区
http://www.elasticsearch.cn/
Elastic 相关的音频播客 / 视频
-
Apple PodCast - “The Elasticcast”:Elastic 社区电台,全英文,分享一切关于 Elastic 的资讯。
-
Elastic 社区电台(喜马拉雅):以访谈的形式,分享社区内关于 Elasticsearch 的实践与思考。
-
IT 大咖说 - http://www.itdks.com/:搜索 Elasticsearch,可查看 Elasticsearch 相关的 Meetup 技术分享。
学习 Elasticsearch 的几点建议
1.学习 Elasticsearch 的正确方法是广度优先,而非深度优先。
你需要先了解 Elasticsearch 的所有概念,并理解他们要解决的问题。不要在一开始就深入每一个 API 的具体细节,避免陷入见树木不见森林的困境。
例如,在第一阶段,你应该尝试在笔记本电脑上安装 Elasticsearch,而不是选择直接在 Linux 安装和设置相关的生产环境参数。这些细节,应该在掌握了全局概念后,在第二阶段再继续深入。
2.多构思一些实际的应用场景。
尝试下载一些 Public Data,并构思它们的使用场景。使用真实数据的过程,需要你学会对数据进行抽取及 Enrichment,并最终实现搜索和统计分析。
你需要带着这些问题,去查阅 API 文档的相关细节。在实现需求的过程中,你会入坑,出坑,再入坑。这个阶段,将会给你带来很大的收获。
3.掌握获取他人帮助的正确方式。
不要害怕提问。但要杜绝不经过独立思考和调研,就立刻提问的不良习惯。面对问题,不要有畏难情绪,先尝试思考调研,实在想不出答案,discuss.elastic.co 和 www.stackoverflow.com 都是你获取他人帮助的好地方。
最后,去享受延迟满足的快乐。学习是一个漫长的过程,掌握广度优先的方法,做到持之以恒。面对比较深的知识点,不理解的话,可以多看几遍。坚持下来,就会有意想不到的收获。
Elasticsearch 入门简单,但千万不要骄傲自满。“自以为什么都懂,但实际上什么都不懂”,在学习过程中是最需要警惕的一种状态。
上线仅 1 周,
近 90 00 人已加入学习。
《Elasticsearch 核心技术与实战》,使用 Elasticsearch 最新 7.1 版本 讲解,eBay 资深技术专家阮一鸣,带你快速构建分布式搜索和分析引擎。
学完课程,你将获得:
-
掌握 Elasticsearch 核心技能
-
熟练进行生产环境中的部署与优化
-
灵活运用 ELK 进行搜索与大数据分析
-
具备通过 Elastic 官方认证的能力
现在订阅有什么福利?
-
早鸟价¥99,结算时输入 优惠口令 「521devops」再减 10 元,到手仅 89 元, 明晚 24 点 【 恢复原价 ¥129 】。
-
订阅课程后,可获得作者整理的高清版 「Elasticsearch 核心知识图谱」 ,获取方式:公众号后台回复「 ES 」。
早鸟 + 优惠口令,到手价 89 元。
明晚 24 点 【 恢复原价 ¥129 】 。
:point_down:点击 「阅读原文」 立即订阅。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 重磅 | Elasticsearch7.X学习路线图
- JavaEE学习路线图
- Flutter 入门路线图
- Tendermint 2020 路线图
- 波卡网络的启动路线图
- AppCode 2021.1 路线图发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。