Elasticsearch 最少必要知识实战教程直播回放
女艺人都开始学习 Elasticsearch了
看到朋友圈大佬都在转载:
足见 Elasticsearch 的热度。
近几年,活跃于 Elasticsearch 中文社区、各种QQ学习群、微信学习群,经常会看到各种各样的问题, 很多问题,官方文档已经写得非常清楚了,甚至官方文档早有了答案。
官方文档强调内容举例:
- 避免对 text 类型使用 term query。
Avoid using the term query for text fields
- search.allow_expensive_queries 设置为 false后,wildcard 将不被执行。
Wildcard queries will not be executed if search.allow_expensive_queries is set to false.
- text 类型存储数据结构是倒排索引,而 geo 和 数值类型存储数据结构是 BKD trees。
For example, text fields are stored in inverted indices, and numeric and geo fields are stored in BKD trees.
如上的选型针对的是微信群的提问:谁知道精确值在 ES 中怎么存储的不,比如 "price": 100,也是存储在倒排索引中的么?
死磕 Elasticsearch 星球
但,由于Elasticsearch 更新快、官方文档都是英文、官方文档覆盖面又全又广,很多初学者知道其有用,但,很容易对其望而却步。
退而求其次,选择了一些老版本的书或者参考资料,浪费了时间、走了很多弯路,而后又通过google、stackoverflow、disscuss.elastic.co、github 跳到了官方文档,这时候才恍然大悟:“文档中都写着了,我为什么之前不知道?!"
本文结合自己 Elastic 认证经验,梳理一下 Elasticsearch 官方文档的学习路径。
期望对大家能有所帮助。
第一手资料的重要性
学习 Elasticsearch 知识的过程中,官方英文文档 + 源码 + 源码作者写的图书 + 官方博客才能称为第一手资料。
第二手资料:github issue, 国外社区论坛,stackoverflow, 国内博客论坛,优秀的国内外图书。
书的封皮作者部分,著、编著、翻译的区别(说法不严谨)
1)著 - 完全自己写的,质量相对高。几乎很少参考别人的。如:侯捷《深入浅出MFC》、《程序员的自我修养》、《Elasticsearch源码解析与实战》……
2)翻译 - 翻译一般会滞后1年+,比如:《Elasticsearch in action》滞后了3年。15年英文版,18年出中文版。
第三手资料:拼凑的国内图书。
封皮一般会有“编著”字样。
3)编著 - 编著也不乏优秀作品。但,国内很多博导、硕导、老师等为了评职称写了很多烂书,千万别买!
如何甄别一本好书 ?看销量、看评分、看再版情况基本就能区分个八九不离十。
相比之下:
- 一手资料优于二手资料,二手资料优于三手资料。
- 一手资料非常重要,获得知识最直接,没有中间环节,减少认知盲区和障碍!
Elasticsearch 官方文档就是第一手资料
字越少,信息量越大!
关于 Elasticsearch 官方文档,ES 业界大佬怎么说?
最新 + 丰富 + 权威 + 靠谱
VIVO 搜索总监杨振涛大佬指出:
“一是以官方提供的入门和参考文档为主,因为业内现在 ES 相关资料相对来说比较丰富,但是想要跟上官方最新版本的节奏以及考虑权威性,还是官方的参考文档和有关的手册会比较靠谱!”
快速了解全貌,有帮助
携程 WOOD 大叔强调:
“对于新手入门最浅显易懂的,还是官方那本 Elasticsearc 权威指南,中文版是2.X,但对新手快速了解 Elasticsearch的全貌,有非常大的帮助”。
Elasticsearch 官方文档地址
Elasticsearch 最新版本官方文档入口
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
Elasticsearch 权威指南英文版(2.X)
https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
Elasticsearch 权威指南中文版(2.X)
https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
Elastic Stack 全部文档入口
https://www.elastic.co/guide/index.html
有什么区别 ?
- 《权威指南》:强调 Elasticsearch 原理
- 《官方文档》:有版本之分,强调全面和明细API,是你开发运维的帮助文档。
如何 高效的学习 Elasticsearch 官方文档
第一:高屋建瓴,从大处建立起全局认知
看有哪些模块?
无非:部署、索引、检索、聚合、分析、文档、集群、安全等核心模块。
提前了解文档全貌及章节脉络,避免:只见树木不见森林。
举例:总揽下 query mapping aggs 等都在哪里,出问题好去找。
避免:上来就从头看到尾。和学生时代,背四六级单词一样,真的有的同学考了几次了,单词还停留在a开头的 abandon 部分。
第二:刻意练习查阅 Elasticsearch 官方文档
遇到问题刻意去找文档,而不是google或其他搜索引擎直接不考虑。
虽然很痛苦,但有效果。
凡是花时间梳理的东西,自己记得牢固。别人给现成答案短期有效果,长期往往记不住。
实战举例:
比如:遇到问题 动态模板 就去谷歌搜索“elasticsearch 动态模板”。
但,这并不是学习、提升认知的最佳途径。
应该多思考几个问题,并带着问题翻看文档:
- 0,英文名是不是 dynamic template ?
- 1.动态模板 在文档的那个部分?
- 2.动态模板和 mapping 或其他章节如何关联的?
- 3,到底什么是动态模板?
- 4,模板、动态模板作用是什么?
- 5,是不是还有静态模板?
- 6,动态模板和动态映射有什么关系?
- 7,实际业务中怎么用?适用什么场景?
- 8,能不能 kibana dev-tool 敲个 demo 加深理解?
第三:实在找不到,才去用 Elasticsearch 文档的搜索功能。
实践你会发现,Elasticsearch 官方文档搜索不见得能搜到您想要的结果。逐步养成查文档的习惯、逐步戒掉上来就google、上来就搜索的“不良”习惯。
第四:通过“点、线、面、体”,逐步打造属于自己的 Elasticsearch 体系。
- 遇到不会的知识点,建议相关知识点一起过一遍,增强认知。
- 点形成线,线形成面,面形成知识体系。
举例1:字段类型,多个字段类型构成 mapping,mapping 和 setting 构成模板,模板就是数据建模的考虑因素。
反过来,由数据建模往下考虑,两者结合效果更佳。
举例2:遇到问题,能将问题拆分到所属模块,在对应模块里查找。
可能会出现跨模块,不要怕,一并学习之。
举例3:shard allocatin 在索引模块和集群模块都有,两个都要看,一起加深认知!
刚开始很难、坚持下来你会发现很靠谱。
我们日常遇到的基础问题,80%以上都能从文档中找到答案。
Elastic 认证考试的内容,拆解梳理后,90%以上都能直接或者链接找到答案。
如果,没有找到,说明不熟。
而Elastic 认证考试不过的唯一原因:不熟!!!如果不熟,肯定通过不了考试!
关于 Elasticsearch 文档学习,常见问题
Q1:看英文有点吃力?
这不还有翻译嘛?
如果实在不行,可以先读翻译版本的中文文档,回过头来再看英文文档。
Q2:先看文档再实践,还是先实践再翻文档?
上了直接看文档,很容易找不到北,尤其遇到看不懂的,会倍增挫败感。
所以,建议:
- 结合实践,遇到问题反查文档提升的快。
- 如前所述,通过一个知识点,串联其他知识点,逐步形成“点、线、面、体”的知识体系。
当然,如果你要备战认证考试,两种要结合。
Q3:要多熟悉呢?
多熟悉都不为过。
腾讯大佬指出的“倒背如流”有点夸张,但是越熟悉,解决问题越快!
熟悉了,可以再去研究源码、研究底层 Lucene 原理、算法数据结构原理。
小结
对于 Elasticsearch 的学习,官方文档只是绕不开的一个基础环节。
官方文档不能包治百病,但绝对能解决 80% 以上的问题。
大家有更好的 Elasticsearch 官方文档学习方法,欢迎留言交流。
对于 Elastic Stack,如果爱,请热爱!
作者:Elastic 认证工程师 / 阿里云MVP
加入中国通过Elastic认证人数最多的圈子!
标签:Elastic,......,官方,文档,Elasticsearch,guide,模板 From: https://blog.51cto.com/elasticsearch/5947351