如何系统的学习 Elasticsearch ?

这是上一次技术直播里六个子主题中的最后一个主题的扩展版本。近期又有读者问到类似问题,我认为非常有必要花长时间梳理后跟大家分享一下。

1、基础篇:零基础如何学 Elasticsearch /h2>

常见问题:“ES 零基础入门书籍看什么比较好

认知前提:书籍的速度已远落后于 ES 版本更新的速度。ES 几乎每个月发布一个版本,更新很快。

市面上的书籍,尤其国外翻译书籍还大多是:1.x,2.x,5.x ,6.x 的版本,更新较慢。

这是一本介绍搜索引擎原理的书,有了搜索引擎原理的认知再去理解 Elasticsearch 会有“居高临下”俯视的感觉。

推荐 2:《Elasticsearch 权威指南》2.X 中文翻译电子书

  • 推荐理由 3:这本书是 Medcl 大神写的序。

推荐4:结合 ECE 考纲、《Elasticsearch 最少必要知识》电子教程啃官方文档。

《Elasticsearch 最少必要知识》 地址:

https://www.yuque.com/deep_elasticsearch/tzcm9n

通过类比:就可以由已有认知过度到未知认知,便于快速习得技能。

建议把基础内容分为两部分,

  • part 1:增删改查

这一部分相对好理解,或者可以借助已有知识体系类比加深理解。

进一步细分为:

  • 索引的增删改查

  • 文档的增删改查

  • Mapping 的增删改查

  • template 的增删改查

  • ……

这些知识有了,基本的操作基本都经过手了。

  • part 2:非增删改查

进一步细分为:

  • 数据预处理 Ingest

  • 自定义分词

  • 检索分类

  • 聚合分类

  • 节点角色分类

  • 集群备份与快照

  • 集群安全

  • 跨集群部署

  • 冷热集群架构

  • 跨机房跨机架检索

  • ……

有了上面的分类,一个知识点一个知识点的攻克就可以了。

1.4 形成自己的学习路线图

我之前梳理的学习路线图如下:

重磅 | Elasticsearch7.X学习路线图

学习路线因人而异,上面的路线图仅供参考。

需要结合自己的实践和认知,找到属于自己的一条学习路线。

1.5 “零基础”学习方法论——光看不够,搭建环境 + 练起来更重要!

书籍和视频一个道理,看再多不如练习一遍。

这里强调的练:是《刻意练习》书籍中推崇的概念“练习”的练,不是盲目的练习、而是有目的、有目标的刻意练习。

你看星球考过的 46 位认证工程师,都是刻意练习 + 对官方文档非常熟练的结果。

最简单、最轻量化的方式:搭建好环境(单节点 Elasticsearch + kibana),用 kibana 自带的三个示例数据就可以练习起来。

  • 部署方式一:如果 PC 内存足够,搭建个虚拟机就可以开搞了。

  • 部署方式二:如果对 docker 很熟悉,docker 部署 ELK 也非常快。

  • 部署方式三:一、二都不喜欢,自己买个云服务器(最少2核4G)就够了。

结合自己的需求,用自己最擅长的方式。

以上,期望有助于你快速入门!

2、进阶篇:实践加深认知

基础篇强调练起来。进阶篇会进一步强调“练”的重要性。

2.1 刻意学习一遍官方文档

程序猿DD大佬说过:要切实的落实某个框架,全面了解和掌握的方式永远都是“官方文档 + 学会读源代码”。

是的,如果说入门我们可以看博客、看视频,站在别人“肩上”走的更快。那么进阶的话,系统的过一遍官方文档就很有必要了。

如果感觉上来就全英文有些吃力,可以 7.X 最新版本的英文结合 2.X 中文文档一起来看。

你有一个苹果,我有一个橘子,我们一交换,每个人得到的都是两种不同味道的水果。

你知道一个知识点,我知道另外一个知识点,我们一交换,每个人得到的是两个不同的知识点,甚至有可能扩展彼此的认知边界。

不要忽视“重复的力量”,举个例子:“小朋友听儿歌,基本2-3遍+就能跟着哼出相应的语调”,这就是听的多、重复的次数多的原因。一样的,我们给别人讲解的多了之后,自己记忆的会越来越牢固。

2.4 逐步构建属于自己的知识体系

Elasticsearch 数据类型脑图

画的多了,就形成了自己的知识体系。

如下视频是我用 30 + 分钟的时间徒手敲了《Elasticsearch 最少必要知识》的核心知识点,这也是当前 Elastic 认证考试考纲的全部知识点。

2.5 以考带练

可以考虑参加 Elastic 认证考试,通过以考代练的方式,强迫自己夯实基本功。

之前分享过认证考试的文章比较多,不再赘述。

对认证感兴趣的推荐阅读:

  • Elastic认证工程师到底有没有用br>

  • 潜心一技、做到极致!——Elastic认证工程师之路

  • 能拿驾照就能通过 Elastic 认证考试!

  • 从实战中来,到实战中去——Elasticsearch 技能更快提升方法论

如下是 BAT 大佬对认证工程师的评价,至少在你简历不那么出彩的时候,认证工程师算是一个简历的亮点。

以上,通过进一步的刻意练习,助力构建知识体系,期望有助于你快速进阶!

3、源码原理篇:掌握本质,一通百通

目前来看只有互联 大厂才会做 Elasticsearch 内核级别优化,所以大厂面试的第一个问题通常是:“有没有看过 Elasticsearch 源码。然后再问一些底层原理、优化等实战问题。

PS 补充一点:大厂必然会问基础算法,建议提前力扣刷题备战。

单纯的读源码容易碰壁、经常会是“一头雾水、不知所云”。所以建议结合实战问题,带着问题看源码。

也推荐开发一款 Elasticsearch 插件,开发的过程加强对 Elasticsearch 代码和接入逻辑的认知。

3.1 推荐1:张超老师的《Elasticsearch源码解析与优化实战》书

  • Elasticsearch 底层是 Lucene,掌握 Lucene 的原理对于理解Elasticseach 非常有帮助。

  • 翻译实在不敢恭维,但貌似实体Lucene 书实在是稀缺,可以大致看一下。

3.3 推荐3:《Lucene 原理与代码分析完整版》电子书

开工忙非常理解。但是,买课的目的得进一步明确:0.1元课、1元课、9.9元课、19.9元课等都非常多,各大机构竞争已经出现了白热化。我自己也帮推课,站在 IT 培训公司 或者 IT 知识付费公司推广的角度能理解,吸引用户无可厚非。

但,之前咱们也强调过,买课不是目的,和买书一个道理,再直白点说:

买了书不看和买了课不看,是一模一样的逻辑。

买的时候心里是这样的:

  • X 天掌握一门技能,太牛逼了。

  • X 天后,我就成大牛了。

  • X 天后,我就建立完整知识体系了。

  • 我擦,业界大佬的课,得学啊!

  • 我擦,群里球友或身边同事都买了,我也得买啊。

  • 我擦,买它买它买它。。。。

买了那一刻瞬间的感觉,很舒服、很踏实、仿佛产生了中彩票的幻觉。

但是,买完之后没多久呢/p>

  • XXX,你的bug,过来看一下。

  • XXX,年度规划会议,记得参加。

  • XXX,产品需求讨论会议,记得参加。

  • XXX,架构选型会议,记得参加。

  • XXX,开发问题讨论、敲代码。。。

  • XXX,不行,今天任务还没完成,加班中。。。

如此反复,进入了 996 的死循环。

几天后,或者几十天后,又发现课程推广广告,哎,我不是买过这门课,我擦,忘记听了、忘记学了。

课不在多,能学才灵!

课不在多,够练就行!

练起来比买起来更重要。

买不可怕,买了不学才可怕!

学不可怕,学了不练才可怕!

练不可怕,练了不用才可怕!

4.2 注意力分散

我多次引用过李笑来的话:注意力 > 时间 > 金钱。

真的是这样——你的注意力在哪里的成就就在哪里!

过年的时候跟朋友聊天提到了读书的问题,“不怕你笑话,我好几年没有读过一本书了”。


更短时间更快习得更多干货

点击查看“阅读原文”,更短时间更快习得更多干货。和全球 1000 位+ Elastic 爱好者(含中国 50%+ Elastic 认证工程师)一起每日精进 ELK 技能!

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月9日
下一篇 2021年2月9日

相关推荐