Py学习  »  Elasticsearch

重磅!2019 年最新 Elasticsearch 学习路线图

高效开发运维 • 4 年前 • 574 次点击  

作者 | 阮一鸣
在大数据时代,搜索是软件工程师的一项必备技能。而 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 核心知识图谱」,内容涵盖了功能,原理,扩展及运维等多个方面,确保你不会疏漏任何一个知识点 【领取方法:见文末】

当然,我更建议你在学习的过程中,对所学的知识加以归纳总结,整理出属于自己的知识图谱。

△明晚 24 点恢复原价,扫码立即试看


书籍与相关资料推荐  

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 Search

本书主要讲解如何通过神经网络,来提高搜索的相关性。如果你对提高搜索结果的相关度有兴趣,推荐你读一读这本书。

技术社区和学习资源推荐  

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 周,

近 9000 人已加入学习。

△ 长按识别二维码,免费试看

《Elasticsearch 核心技术与实战》,使用 Elasticsearch 最新 7.1 版本 讲解,eBay 资深技术专家阮一鸣,带你快速构建分布式搜索和分析引擎。

学完课程,你将获得:  
  • 掌握 Elasticsearch 核心技能

  • 熟练进行生产环境中的部署与优化

  • 灵活运用 ELK 进行搜索与大数据分析

  • 具备通过 Elastic 官方认证的能力

现在订阅有什么福利?  


  1. 早鸟价¥99,结算时输入 优惠口令「521devops」再减 10 元,到手仅 89 元,明晚 24 点【 恢复原价 ¥129 】。


  2. 订阅课程后,可获得作者整理的高清版 「Elasticsearch 核心知识图谱」,获取方式:公众号后台回复「ES」。

早鸟 + 优惠口令,到手价 89 元。

明晚 24恢复原价 ¥129 】

👇点击 「阅读原文」 立即订阅。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/35491
 
574 次点击