1、引子

我是2020年4月30日通过的认证,应群主之邀,写一篇经验分享,也是给我的认证之路做一个小结。其实和很多群友想的不一样,我平常在工作中要写DSL的机会不多,和ES相关的,更多的是评估容量和成本,决定一个场景到底要不要用,要设计哪些功能。虽然平时零零碎碎地看了很多ES相关的知识,但总觉得不成体系,考虑问题的时候会发现有些内容自己是不知道的。因此想考一个Elastic认证,借这个机会全面地学习和了解ES的整个体系。

我其实去年10月份就报名了。那会儿我是冲着当时可以补考一次的优惠去报的,后来发现补考一次的机会必须要发生在10月底之前,而我当时觉得自己并没有准备好,因此放弃了那次机会。后来直到年底前,工作都比较忙,我差点以为自己要放弃了。后来就到了春节期间,恰逢其时,新冠疫情爆发,在节后很长一段时间,我都是在家远程办公,在这个过程中,发现自己多了很多可以支配的时间。我就想,干嘛不乘这个机会把认证好好准备一下呢。

2、考前准备

其实我真正开始准备考试是3月11日,群主在共享资料中有一个excel表格里面有认证考试的考点。我按照这个知识点列表自己制作了一个number的表格,每天给自己记录学习的状况。按照这个记录,我第一轮所有知识点是4月1日这天全部过完的。一共花了21天。

这个过程,我都基本上采取的是梳理-->理解-->总结的方式来进行的,这个过程中我一共写了21篇博文(包括后面一阶段),加起来可能有两万多字。大家有兴趣的话,可以来踩一踩,地址在这边,https://www.jianshu.com/u/0665e735f216。

整个过程一开始是在家办公,时间比较宽裕,写了一些比较长的文章。到了后面复工了,我就晚上回家以后学习,然后写文章,差不多每天都会到12点多吧。这带来的一个后果是,每天晚上写完文章都很兴奋,导致有的时候会失眠。当然,这二十一天并不是每天都是这样,有的时候白天要开会,要解决困难问题又或者有团建,那天晚上基本上是搞不成的。

这21天给我最大的收获是给我形成了学习-思考-写作的正反馈,能够感受到自己每天在进步是促使我继续下去的最大动力。前几天看到群主在看一本书,是李笑来老师的《把时间当做朋友》,这本书我也看过,里面的内容非常不错。书中提到一点,写作是人对自己最有效也最持久的投资,这个过程中,你需要思考,总结,提炼并且把你的思考结果和他人进行交流。

4月1日结束之后,由于是清明节,同时工作上面出现了一些问题需要解决,我中途停了一段时间。大概在4月13号的时候又重新开始,这一回我加入了考证打卡群。这个阶段主要是查漏补缺做真题,这个过程的意义在于提供了很多材料让我可以来使用之前学到的知识,毕竟有很多知识点,日常工作中如果使用不到,是很难想到一些应用场景的。在这个过程中,我也在群里认识了很多朋友,大家一起讨论问题非常愉快。群主GitHub上面的真题,包括博士的40道真题,之前已经考过的一些兄弟提供的题目,我全部都做了一遍,帮助非常大,考过之后发现其实大部分题目都见过。后来有一天,群主和我说,你差不多了。我想了想确实是这样,于是找到之前报名的账号到考试网站去约了时间。

3、考试的经过

我是提前三天约的考试,因为我想在考前再过一遍真题和考点。事实证明这个举措很有效果,后来在考试过程中遇到的“function_score”的题目就是在这个过程中弄明白的。考试的当天我请了一天假在家看知识点和真题,考试时间选的是晚上19点到22点,因为我准备用公司的科学上 wang,而放假之前一天的晚上基本上是没什么人加班的。我自己另外买了一条 科学上wang,不过网速自然是比不上公司的专线了。

设备方面,我使用的是12寸的macbook配上了外置的显示器和键盘,也是我运气比较好,监考官允许我使用这些外接设备,不然的话,在macbook的12寸屏幕上考试,我估计会把眼睛看花吧。考官对我的环境检查得非常仔细,我房间的各个角落来来回回看了2遍,花了不少时间。后来又让我把程序坞里面所有的图标去掉,把除了浏览器之外所有的程序关掉。来来回回折腾了半个小时。我是18:45开始的,到了差不多19:15才启动考试程序进入考试环境。

整个检查过程弄得我非常紧张,导致我刚开始做题的时候脑子一片空白,打字的手都有点在抖。我有一个不太好的习惯,想事情的时候喜欢用手托着下巴,有的时候会把嘴捂上,这个时候监考官就会跳出来告诉我这是不允许的。这样的事情发生了三次,基本上我手一碰到嘴,他就会跳出来,感觉监考官全程都是看着我的。考试时候桌面的那个官方文档是一个大索引,之前查文档我从来没有这么玩过,找到正确的文档也花了好一会儿,这个是我比较失误的一个地方,如果能提前熟悉,至少能节省一些时间。考试的集群有4个,考试界面有整整一页都是描述这个集群,要仔细看一看。

一开始比较慌,前面几题花了我不少时间,到了后面适应了以后做题速度就加快了。20点的时候我只完成了2道题,到了21点我做了6道题,大概是在21:50左右我完成了全部题目。这之后我回过头来看之前有问题的题目。一题是一道跨集群搜索的问题,这道题位置比较靠前,之前由于太紧张,怎么调整搜索DSL也得不到正确的结果,在检查得过程中发现是集群的名字写错了。

下面就是这道上面提到的function_score的真题。

索引 movie-1,保存的电影信息,title是题目,tags是电影的标签。

要求:

  1. 在title中包含“my”或者“me”。

    1. 如果在tags中包含"romatic movies",该条算分提高,如果不包含则算分不变。

    其实我一开始是用的bool search做的,做完了感觉不对。因为如果用bool的话,无论怎样调整,都有可能搜索出一个title中不包含“my”或者“me”但是tags中包含“romatic movies”,又或者出现一条结果中出现my或者me,但是因为tags中不包含“romatic movies”而导致这个文档没有被包含在搜索结果中。而题目的意思是tags这个条件应该是一个加分项而已。后来在检查得时候,我想到了用function_score来做。可能是紧张的缘故,我敲出来的DSL在Kibana中一直没办法正确解析,自己去检查那个语句怎么也看不出任何问题。我当时的心态有点像下面这张图:

    后来,我想,官方文档上面的例子总是对的吧,于是把官方文档上的语句拷贝到kibana中,再把我之前写的查询,贴过去,结果果然成功了。

    这个时候时间还有6分钟,我觉得自己已经没有什么可以做的了,而且确信所有题目应该都是正确的,于是提交了答案。监考官和我反复确认是否要结束考试,这个时间考试环境自动断开了,我看了时间是22:14:37。应该正好是3个小时。考完后,我乘自己还记得赶紧把这道题目记录下来。接着到群里和群友聊磕。这过程中,我打开邮箱,发现考试结果已经出来了。看了一下邮件的时间是22:35,20分钟就出了结果,考试机构的速度也是很快了。

    4、真题

    现在来罗列一下我还记得的真题吧:

    • 对集群进行allocation-awareness配置

    • 跨集群搜索

    • 之前很多群友见过的食品供应商索引的同义词Analyzer搜索配置

    • 一个bool search

    • function_score

    • ES安全设置和角色配置

    • 动态mapping

    • ingest pipeline + script + reindex

    还是食品供应商那道题,满足name中包含某字段,然后返回商品top10的供应商的名字。

    剩下一道题目确实想不起来了,其实也不重要,这些题目真题里面多少都有些影子。

    我想着重说说其中两道题目。一个就算同义词那题,很多群友反馈题目错了,我做完后搜索出来的总条目是141和题目中要求的是一致的,不是群友帖子里面的144,也许后来官方调整过了。我的做法和他有一点区别,就是在synonym filter之前我还加了一个lowercase filter。然后同义词只设置oz => ounces。

    另外是function_score的题目,我大概是这么做的。

    GET /movie-1/_search
    {"query": {"function_score": {"query": {"bool": {"should": [{"match": {"title": "my"}},{"match": {"title": "me"}}]}},"boost": "5","functions": [{"filter": {"term": {"tags.keyword": "romatic movies"}},"weight": 5}]}}
    }
    

    这样做的好处是后面的term search只对评分有影响,对搜索结果是没有影响的。

    不过这个结果我没有验证过,我的ES机器之前已经关掉了,等后面我验证过会来更新这个结果。

    5、小结与致谢

    经过差不多2个月的努力,我最终拿到了Elastic 认证,并且在此过程中受益良多。Elastic 认证考试,说难也难,说不难其实也不难。说它难,它的难点在于这个考试的知识点覆盖广,通过标准高,不经过精心的准备,很通过考试。说它不难,因为考试的题目其实都是非常基本的使用方法,很少有在题目中故意刁难考试者。只要努力用心准备就一定能通过。

    最后我要在此感谢很多人,首先是群主,没有这个社群,很难在市面上找到这么多全面的资料,平时在群里,有技术问题,群主也会很耐心地进行解答,对我帮助非常大。其次是我太太,在这两个月里面,我基本上很少做家务,陪孩子的时间也比较少,感谢你的理解和支持。然后是我的父母,感谢你们对我们和孩子们的悉心照料,让我少了很多后顾之忧。接着是我的孩子们,你们的笑容是我永远的动力。最后感谢认证群的水友们,和你们讨论技术问题是非常开心的一件事情,祝社群越办越好!谢谢大家。


    PS:  这是球友胖胖虎 2020-5-2 的分享。截至:2020-5-10,已经有10位球友通过Elastic 认证工程师考试!

    首发地址:https://articles.zsxq.com/id_ic8aw8lwlw6p.html


    更多推荐:

我的ElasticSearch认证工程师之路相关推荐

  1. 一个 70 后运维老兵的 Elastic 认证工程师之路

    Elasticsearch 最少必要知识实战教程直播回放 1. 缘起 我接触 ES 的时间大约是2017年,最初是小打小闹,只是搭了个小的demo环境,用ES来存储给设备日志外加用Kibana做一些简 ...

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

    Elasticsearch 最少必要知识实战教程直播回放 20年2月3日我参加Elastic认证工程师考试,2020年2月5日中午得到认证结果:通过考试. 趁热打铁,将Elastic认证工程师考试相关 ...

  3. Elastic 认证工程师考试最常被问到 Top10 +问题集锦

    关于 Elastic 认证考试,官方文档已经提供了详尽的 Elastic Certification FAQ, 详细地址:https://www.elastic.co/cn/training/cert ...

  4. 全球仅通过不到 2000 位的 Elastic 认证工程师,到底难不难?

    0.从Elastic 官方的一篇报道说开去 https://www.elastic.co/cn/blog/master-the-elastic-stack-with-trainings-feature ...

  5. HP 认证工程师试题(转)

    非官方确认的测试题,转载,保留而已  HP 认证工程师试题 1.相比zx1芯片组,那一种I/O总线在zx2芯片组上不支持?  A,PCI-X  B,PCI  C,PCI-Express  D,AGP ...

  6. 认知篇:Elastic认证工程师,完全解读

    文章目录 1.`Elastic认证`是什么? 2.`Elastic认证`能给我带来什么,对我的工作有什么帮助? 2.1 搜索领域的就业岗位很多: 2.2 薪资高: 3.认证证书含金量如何? 3.1 先 ...

  7. Elastic:如何成为一名 Elastic 认证工程师,Elastic 认证分析师及 Elastic 认证可观测性工程师

    Elasticsearch 无疑是是目前世界上最为流行的大数据搜索引擎.世界上很多著名的 IT 公司都是我们的客户.这些客户包括微软,甲骨文,Adobe,Salesforce, Uber,苹果,沃尔玛 ...

  8. 思科ccna认证工程师必看路由协议IGRP和EIGRP详解

    思科ccna认证工程师必看路由协议IGRP和EIGRP详解单单从他们的名字当中,我们就能猜到他们之间有很多的关联. IGRP: 一种内部网关路由协议,它由Cisco公司八十年代中期设计.使用组合用户配 ...

  9. 红帽认证工程师(RHCE)的发展前景

    Linux位居操作系统产品增长之首,市场同比增长率达到30.9%,市场价值达到357亿美元.继续保持较快增长态势.在三年时间内, Linux可望在1700万PC中使用,使其安装规模达到4260万,达到 ...

最新文章

  1. Apache Ant自动化脚本
  2. java投票输出票数最高前三名,给你喜欢的作品投票,票数前三名获本平台赠送书一本。|诗花朵朵...
  3. 云原生数据库POLARDB专场“硬核”解析
  4. JMS学习六(ActiveMQ消息传送模型)
  5. iQOO Neo6现身安兔兔数据库:高导热稀土散热加入 跑分轻松破百万
  6. cmw500综合测试仪使用_网络性能测试仪该怎么选
  7. H3C交换机配置DHCP服务器
  8. ArcGIS Runtime SDK for Android 加载shp数据,中文乱码问题
  9. C语言的C11 标准有哪些改进的地方?C11 为何不如 C++11 流行?
  10. msvcr71.dll 等相关DLL文件类型缺失下载
  11. 图解:卷帘快门(Rolling shutter)与全局快门(global shutter)的区别
  12. 2022-2028中国防爆电话市场现状研究分析与发展前景预测报告
  13. python pdfminer的功能_python:pdfminer接口测试
  14. C语言中 编译预处理命令的作用有哪些,C语言系列——预处理命令
  15. python 九九乘法口诀表好记方法_背诵九九乘法口诀表的好方法,赶快收藏,让孩子熟练记忆并掌握!...
  16. 读洛克的《政府论》下篇
  17. VMware P2V 转换实验
  18. 电脑无法连接oppo手机热点
  19. 安全技术的发展:物理隔离三步曲
  20. chopper云音乐开发笔记

热门文章

  1. Android如何分析排查ANR
  2. 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
  3. 学习笔记5(类和对象)
  4. 淘宝双11大数据分析(数据准备篇)
  5. java实现海盗比酒量
  6. 品牌策划中该如何在“细节之处”刺激受众痛点?
  7. 轨迹(形状)相似性判断与度量方法
  8. 什么是JSP,JSP的运行原理是什么?
  9. PHP 核心技术与最佳实践
  10. python 如何读取excel表格数据