1、课程介绍
1.1 为什么要录制这套课程
- 为了生存:首先,这套课程从基础课程到进阶高手课程,到运维、实战项目课程是完全免费的,但是创作不易,尤其是新课程的开荒是需要耗费大量的时间去学习、整理资料、验证、录制视频、剪辑等,如果你喜欢这套课程,如果大侠打赏一下作者,我将更加有动力把免费课程继续做下去。
- 志存高远:希望打造一个高质量的学习社区,提供更好的学习交流平台。分享更多原创的文章、课程。
- Elastic开源社区官方网站:http://www.elastic.org.cn/
- 知识星球:Elastic开源社区
- 公众号:Elasticsearch之家(点击关注),更多干货,每日更新!关注有惊喜!
- CSDN社区:Elastic开源社区
- 目前市面还很少有基于 ES 8.x 的系统讲解。
- 推广Elastic认证考试
1.2 课程包含哪些内容
- 应用技术和快速上手:针对群体为在职者因业务或技术要求,迫切需要短时间内快速掌握上手和使用ES,其内容核心为:教会学生如何使用ES;
- **底层原理与算法源码:**主要针对的群体为希望在Elastic体系有深入学习和探索,或者有强化面试和底层原理、算法、源码需求的学生,其内核心为原理源码等理论技术。
- **Elastic运维和安全:**面向Elastic运维和安全,讲解如何从零到一构建生产集群架构、如何部署Elastic安全机制。
- **搜索项目实战:**项目包含点餐系统、疫情地图、日志系统以及搜索引擎的架构设计方案。
1.3 课程十大亮点
- 免费课程
- 版本足够新(基于最新版本 ES 8.x)
- 内容实时更新
- 内容足够多(超过100小时)
- 知识点覆盖面广(从0基础到源码底层)
- 针对性强(针对小白、测试、开发、运维等划分了专有的篇章)
- 课件资料事无巨细(写这些资料,掉了五斤头发)
- 有国内非常优秀的技术圈子(包括Elastic中国认证工程师大群)
- 帮助了很多人升职加薪(诓人这辈子娶不到老婆,有聊天记录为证)
- 能联系上老师本人,也可以在星球向老师和嘉宾提问
2、Elastic认证考试
百度搜索:Elastic认证工程师、Elastic认证考试
2.1 Elastic认证考试介绍
Elastic认证工程师考试课程,并不包含在 ES 8.x 体系课程范围之内,如需了解Elastic认证考试,课关注知识星球公众号或者下载“知识星球APP”索索Elastic开源社区免费加入了解,或者关注公众号Elasticsearch之家,回复关键字“认证考试”了解最新信息,目前百度上的内容基本上都是过时的,Elastic开源社区仅半年时间,就培养了近百位Elastic认证工程师(证书已在星球内公开),星球内成员考试通过率也是几乎是100%,可谓“高效高速”。详细信息可通过星球或公众号内查阅。
2.2 Elastic认证考试大纲
推荐阅读:Elastic认证考试大纲:全方位分析(难度、考试频率、得分指数、综合分析等)
官方考纲:https://www.elastic.co/cn/training/elastic-certified-engineer-exam
2.3 常见问题解答
推荐阅读:关于Elastic认证考试的一系列解惑
考试专栏:https://es-cn.blog.csdn.net//category_11304897.html
毕业墙:http://certified.elastic.org.cn/
3、常识速记
3.1 官方网站
- 官网地址:http://elastic.co/
- 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
- 官方下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
3.2 离线文档
ES离线文档安装指南,戳:Elasticsearch离线文档(支持选择版本)安装部署教程
3.3 Elastic开源社区(社区建设中)
4、学习方法论:方法到位,事半功倍
4.1 我该选Windows/MacOS,还是选择Linux?
对于零基础或者初学者,不建议在环境搭建上耽误太多时间,工作中真正让你去搭环境的可能性非常小,一般来说更多的是岗位已存在Elastic的项目需要你快速上手,这种情况下应该把更多精力花费在如何快速学会使用Elastic技能,而不是把时间浪费在搭建环境上面。对于环境的选择,我的建议是,如果是Windows或者MacOS的系统,在本地开启单个节点即刻开始学习,不用修改任何配置文件,亦不用搭建集群,因为分布式原理的内容会在进阶篇也就是底层原理和源码部分体现,基于Linux和K8S的安装部署以及一些高级用法,都会在第三篇:ES运维及调优 部分详细展开讲解,按照这样的规划来学习,一定会有更高效的学习体验。
4.2 初学者不建议把看书作为首选方式
对于学习Elastic的学习者而言,我不推荐把书籍作为首选的学习方式,最好是作为一种辅助手段或者把书籍当成一种工具,用到的时候去翻阅。当然则是建立在你对书籍大纲有一定的熟悉程度的基础上,以下是我的理由:
迭代速度:Elastic官方对Elastic Stack的版本更新速度非常快,这固然有好处,证明了Elastic的活跃程度很高,但是随之也带来一些问题:书籍的更新速度非常慢,通常某一本书是针对Elasticsearch的某一个版本编写的,比如ES 7.6,书的版本更新远远跟不上Elastic官方对其版本的更新速度,而ES本身不同版本之间的区别还是比较大的,比如Client由Transport变成了、比如Scripting的脚本语言由Grovvy变成了painless等等。阅读书籍尤其是技术类书籍的速度通常是比较慢的,其中包含一些代码类的案例手敲起来非常费劲。技术的迭代本身就很快,要学的东西很多,我们要提高自己的学习效率,就必须选择更加高效的方式。
携带不便:书籍的携带不便于我们随时随地学习,只能在一个固定的场所学习,而电纸书或者电子书阅读更加适合顺序阅读,对于我们经常需要跳页的情况又很不方便。
筛选成本:和付费视频一样,需要筛选成本,当然这也不仅仅是书籍存在的问题,不过也应该是我们应该考虑的问题,现在的书动辄百元,谁的钱也不是大风刮来的。
如果有条件,找一位老师是最好的,你的老师可以是你的前辈、朋友、甚至是一套视频。千万不要轻视老师的作用,合理的指引可以让你少走弯路,减少时间的浪费,也许你三天没有解决的问题,经过指点,五分钟你就解决了。不过成年人的世界里没有白帮的忙,别人帮你解决问题,即便嘴上不说,其实你也欠下了人情,次数少了还行,次数多了谁都受不了。现在是一个知识付费的时代,即便付费付的不是现金。所以请教问题还是要先尝试自己解决,实在不行再去请教。其实付费找老师也是一个选择,比如报名一个培训班,当然花钱之前要擦亮自己的眼睛,钱可以花,但是不能白花。为了避免广告嫌疑,不挂任何链接。
4.3 知识点应该掌握什么程度
想提高学习效率,就要有侧重点,知先后顺序。对于应用层面的知识,其实不必记住代码和参数,只需清楚的记忆知识点所解决的问题,我举个例子:比如数据在写入之前需要对其进行数据校验,把无用的空格或者标点符号去掉,可以用 pipline 来对数据进行处理,其实只需要知道 pipline 是用来解决什么问题的,以及在使用的时候需要注意哪些即可。而 pipline 的创建代码在使用的时候查阅文档是最高效的,而且不会出错。
4.4 高效利用官方文档
官方文档毫无疑问是学习Elastic最权威的地方,也是覆盖知识面最全的地方,但是也正是因为其文档太多,如果想要系统的学习并不是很好的选择,而最好将其当做查阅工具。因为对于大多数人并非所有的东西我们都一定要学习,而且学习过程应该有一个适合我们的一个大纲。也就是先学什么后学什么。下面是我列举的几个官方文档的优缺点,供大家参考:
优点
- 权威:对知识的讲解一般不会出现错误。
- 覆盖范围广:几乎覆盖所有可能遇到的问题
- 最新:新推出的任何版本肯定都是官方首发,其次才会出现对应的视频、博客、书籍等。
缺点
- 不系统:对于知识点的梳理并非由浅至深,也由于其文档“太全”,内容多而导致学习筛选成本高。
- 语言问题:英文对大多数国内的IT从业者来说还是不太友好,即便我们有google翻译插件,原生文档的翻译经常会偏离其原本含义,或者翻译成中文之后难以理解,有的文档直接翻译错误。而且翻译页面之后,代码案例将会丢失格式,不便于我们阅读。也许你觉得你的英文足够好,但是歪果仁的脑洞是很惊奇的,有些文档英文好也不见得能理解的透彻,因为官方文档本身的描述也是基于老外的脑洞去编写的,理解起来比较生硬,比如我举个例子, 比如官方文档在对ES几何形状(geo_shape)空间关系(Spatial Relations)的讲解上对四个参数的描述:
1.INTERSECTS- (default) Return all documents whose shape field intersects the query geometry。 2.DISJOINT- Return all documents whose shape field has nothing in common with the query geometry 3.WITHIN- Return all documents whose shape field is within the query geometry。 4.CONTAINS- Return all documents whose shape field contains the query geometry
对自己英文有自信的话可以尝试自己翻译,或者使用百度、谷歌翻译去查看翻译结果,看看是否能理解其含义。对于例子,我在Elastic之家用了一个理解起来非常容易的例子对其进行了讲解,有兴趣的话可以关注:http://www.elastic.org.cn/ 或者关注公众号“Elasticsearch之家”公众号,回复空间关系四个字查看详细内容
- 网速慢:由于是国外的网站,大部分用户访问速度是很慢的,下载速度也很慢,当然我在也为大家提供了常用的下载列表Elastic开源社区,或者在Elasticsearch之家公众号回复关键词离线文档,学习如何下载和使用Elasticsearch离线文档。以便给网络不好的同学提供畅快的学习下载体验。
- 更新太快:这本应是好事儿,但是也正是因为其更新速度快,对很多人造成了困扰。学习成本高,可能刚学没多久的东西就有些过时了。
4.5 合理利用搜索引擎
合理的利用搜索引擎解决问题能极大的提高学习效率。搜索引擎可以解决大多数我们日常开发学习中遇到的问题,但不可否认的是,这需要很大的筛选成本,因为国内目前的互联网现状就是抄袭复制极为严重,相当一部分帖子、博客内容为只字不差复制他人内容,有的内容质量差,毫无学习价值。当然一片高质量的文章也许对我们会有很大的帮助,但是如何能看到这篇文章就需要我们一篇一篇文章的去筛选阅读甄别,无形中浪费了我们的时间。举个例子:在Elasticsearch中讲解Adjacency Matrix Aggregation 也就是邻接矩阵知识点的内容,百度的结果几乎无一原创,基本上就是官方文档用谷歌翻译或者百度有道翻译插件翻译成中文,然后原封不动的拷贝过来,不信你可以分别在百度搜索“Elasticsearch Adjacency Matrix Aggregation”和在Elasticsearch官网搜索“Adjacency Matrix Aggregation”翻译成中文进行对比。如果我所言有假,欢迎回来打脸。当然我并非说抵制搜索引擎搜问题,毕竟我自己也在用,但是你需要练就一双“鹰眼”,明辨对错。
4.6 练大于看
我认为这一点尤为重要,只看不写等于不会,只看不写等于不会,只看不写等于不会,重要的事情说三遍。你看了视频或者博客,你认为自己会了不代表自己真的会了,涉及到代码的地方必须要自己动手敲几遍,对至少是几遍,一遍是远远不够的。如果遇到原理性的东西,自己去写博客,不要去复制别人的博客,这样不但对你自己毫无用处,当别人遇到问题去搜索引擎里找答案的时候,你复制来的东西只会给别人找到答案制造障碍,纯粹是在给互联网制造垃圾。所以我鼓励你自己去写,反对去复制别人的东西,人家原创的东西需要你去复制么?
然后就是,尽量去把自己所学的东西应用到实际的项目中去。有人可能会觉得我们公司根本没有这样的环境,我工作的内容也不涉及到我学的东西。那你就去逼自己,没有条件自己给自己创造条件,没有那么完美的事儿,没有机会就抓紧时间做好准备,等机会来了才能抓住机会。
4.7 主动学习
为师者讲究授人以鱼不如授人以渔,你给别人鱼不如教会他如何打鱼,不然迟早一天他还是会饿死。反过来我们学东西也是要先学会学习的方式方法。一味的苦读付出,找不对方向,就像无头苍蝇乱撞,轻者多走弯路,浪费精力;重者自取灭亡。为什么猪八戒好吃懒做最后还能成佛?因为选对了老板!有时候选择大于努力,朝着对的方向迈出一步,也比朝着错的方向努力十步要强。
当我们下定了决心要改变自己,要锤炼自己,也就是代表你已经箭在弦上蓄势待发,就差瞄准把心奋力一击了。行走的路上遇到障碍不可怕,用力踢开它。凡事首先尝试靠自己的力量解决问题,不要对别人产生依赖,学会自己打鱼,逼自己一把,不要饿了就知道伸手。实在无法解决再找他人求助,避免浪费时间,这也无可厚非。言而总之,学习要主动、不能让别人推着你走,要学会学习的方式,而不是别人走一步,你跟一步。