【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

2019 年最新 Elasticsearch 学习路线图 | 极客时间

  • 2019-07-03
  • 本文字数:2736 字

    阅读完需:约 9 分钟

2019 年最新 Elasticsearch 学习路线图 | 极客时间

在大数据时代,搜索是软件工程师的一项必备技能。而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎,在同领域内几乎没有竞争对手——近两年 DB-Engines 的数据库评测中,Elasticsearch 在搜索引擎领域始终位列第一


Elasticsearch 不仅可以从海量数据中快速找到相关信息,还被广泛运用于大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。


它可以探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过机器学习自动识别异常状况。


作为目前最流行的开源搜索引擎,Elasticsearch 在全球的下载量已超过 3.5 亿次。腾讯、滴滴、今日头条、饿了么、360 安全、小米,vivo 等国内诸多知名公司都在使用 Elasticsearch。

哪些人适合学习 Elasticsearch?

学习 Elasticsearch 的同学来自不同的工作岗位,具体可分为以下几类:


  • 软件工程师:熟练掌握一门或多门编程语言,希望通过 Elasticsearch 提升搜索性能,实现分布式存储;通过学习 ES 的搜索与聚合 API,了解如何进行数据建模,在保证高性能获取数据的基础上,获得更为精准匹配的搜索结果。

  • 运维工程师:同时管理几十万台服务器,保证服务的高可用,是运维工程师面临的最大挑战。通过学习 Elastic Stack,使用 Logstash、Kibana 解决运维工作中的日志分析,安全告警,指标监控等实际需求。

  • 任何想拿数据做点事的人:在大数据时代,数据获取易如反掌。但当你想用数据做实时分析或决策时,才发现传统技术并不能很好地解决你的实际需求。

学习 Elasticsearch 需要什么基础?

  • Elasticsearch 具有开箱即用的特性,5 分钟就可以在笔记本上搭建好开发环境。

  • 掌握任意一门编程语言,会让你学习起来更加简单,但这并不是必须的

  • SQL 和关系数据库的使用经验,会帮助你的学习与理解。

如何学习 Elasticsearch?

我设计了一份 Elasticsearch 的学习路径,并列出了每一阶段的学习目标,适用于不同背景和基础的同学。


按照以下路径学习,结合课程中的练习和实践,你一定能学以致用,基于 Elasticsearch 构建出你自己的搜索和数据分析产品

1.入门阶段

  • 掌握 Elasticsearch 的基本概念

  • 理解倒排索引和 文本 Analysis

  • 设置索引 Mapping

  • 掌握查询与聚合 API

2.进阶阶段

  • 深入相关性算分

  • 掌握如何提高搜索质量

  • Elasticsearch 的数据建模与优化

  • 理解集群分布式工作原理

  • 深入理解分片的工作机制

  • Elasticsearch 源码解析与插件开发

3.运维实践

  • 选择合适的部署架构

  • 集群监控与性能优化

  • 集群容量规划与水平扩展

  • 集群诊断及故障排查

4.综合实战

  • 掌握 Elastic Stack 产品功能特性

  • 深入理解用户场景,选择合理架构

  • 理解数据特征,优化集群部署与数据建模


为了让大家聚焦每个阶段的学习重点,这里我没有对细节做进一步展开。但我整理了一份 「Elasticsearch 核心知识图谱」,内容涵盖了功能,原理,扩展及运维等多个方面,确保你不会疏漏任何一个知识点(领取方法:见文末)


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

书籍与相关资料推荐

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

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

技术社区和学习资源推荐


推荐订阅,特别是 “案例”和“工程”的分类。通过相关的案例分享和工程实践,可以帮助你建立更好的全局观。



1.Apple PodCast - “The Elasticcast”:Elastic 社区电台,全英文,分享一切关于 Elastic 的资讯。


2.Elastic 社区电台(喜马拉雅):以访谈的形式,分享社区内关于 Elasticsearch 的实践与思考。


3.IT 大咖说 - http://www.itdks.com/:搜索 Elasticsearch,可查看 Elasticsearch 相关的 Meetup 技术分享。

学习 Elasticsearch 的几点建议

1.学习 Elasticsearch 的正确方法是广度优先,而非深度优先。


你需要先了解 Elasticsearch 的所有概念,并理解他们要解决的问题。不要在一开始就深入每一个 API 的具体细节,避免陷入见树木不见森林的困境。


例如,在第一阶段,你应该尝试在笔记本电脑上安装 Elasticsearch,而不是选择直接在 Linux 安装和设置相关的生产环境参数。这些细节,应该在掌握了全局概念后,在第二阶段再继续深入。


2.多构思一些实际的应用场景。


尝试下载一些 Public Data,并构思它们的使用场景。使用真实数据的过程,需要你学会对数据进行抽取及 Enrichment,并最终实现搜索和统计分析。


你需要带着这些问题,去查阅 API 文档的相关细节。在实现需求的过程中,你会入坑,出坑,再入坑。这个阶段,将会给你带来很大的收获。


3.掌握获取他人帮助的正确方式。


不要害怕提问。但要杜绝不经过独立思考和调研,就立刻提问的不良习惯。面对问题,不要有畏难情绪,先尝试思考调研,实在想不出答案,discuss.elastic.cowww.stackoverflow.com 都是你获取他人帮助的好地方。


最后,去享受延迟满足的快乐。学习是一个漫长的过程,掌握广度优先的方法,做到持之以恒。面对比较深的知识点,不理解的话,可以多看几遍。坚持下来,就会有意想不到的收获。


Elasticsearch 入门简单,但千万不要骄傲自满。“自以为什么都懂,但实际上什么都不懂“,在学习过程中是最需要警惕的一种状态。


《Elasticsearch 核心技术与实战》


上线仅 1 周,已有超过 8000 人加入学习。


早鸟 + 优惠口令,到手价 ¥89,2 天【 恢复原价 ¥129 】


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


学完课程,你将获得:


  • 掌握 Elasticsearch 核心技能

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

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

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

现在订阅有什么福利?

1.早鸟价 ¥99,结算时输入优惠口令「521devops」再减 10 元,到手仅 89 元


注:2 天后【 恢复原价 ¥129 】


2.订阅课程后,可获得作者整理的高清版 Elasticsearch 核心知识图谱,获取方式:添加课程运营微信 dididisco,回复关键词:ES




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


2 天后【 恢复原价 ¥129 】戳此立即抢购


2019-07-03 19:0912774

评论

发布
暂无评论
发现更多内容

我的编程之路-1(启蒙)

顿晓

编程 入门 启蒙 经历 故事

python面向对象的魔法方法详解

半面人

Python

排序系列归并/timsort

脚动两轮男之漂流小王子

排序系列鸡尾酒/地精

脚动两轮男之漂流小王子

macOS 查看文件内容常用的命令小结

iHTC

程序员的macOS系列:高效Alfred进阶

iHTC

LeetCode 1396. Design Underground System

liu_liu

LeetCode

在InfoQ上开博的第一天

罗琦

开博 文章链接

UITableView 手势延迟导致subview无法完成两次绘制

AlienJunX

第一次手动编译openjdk11

py ploughman

jdk

创业的使命是什么

Neco.W

创业 重新理解创业

Centos7 编译安装Nginx

Kevin Liao

nginx 编译 安装

如何建立你自己的开发知识体系

iHTC

排序系列堆/二分插入

脚动两轮男之漂流小王子

排序系列快排/内省

脚动两轮男之漂流小王子

第三方支付概述

cf

支付 网联 备付金

排序系列bogo排序

脚动两轮男之漂流小王子

程序员的macOS系列:精选Mac App

iHTC

程序员的macOS系列:Mac开发环境配置

iHTC

从每个Python文件快速得到项目根目录的绝对路径

良少

Python 路径 绿色

leetcode8. 字符串转换整数 (atoi)

Damien

算法 数学

Centos 7 安装RabbitMQ(RPM)

Kevin Liao

RabbitMQ RPM安装

做一个好产品的初衷:用户值得

池建强

创业 产品 写作

排序系列计数/基数

脚动两轮男之漂流小王子

去掉美颜和滤镜后的数字货币

亨利笔记

比特币 区块链 数字货币 DCEP libra

排序系列插入/希尔

脚动两轮男之漂流小王子

排序系列之选择/冒泡

脚动两轮男之漂流小王子

Centos 7 使用Firewalld

Kevin Liao

Centos 7 防火墙 Firewalld防火墙 Firewalld

能够实现的想法才有价值

伯薇

创业 创意 点子 商业价值

开张咯~

李绍俊

生活 随想

程序员陪娃漫画系列——当她想吃的时候

孙苏勇

程序员 生活 陪伴 漫画

2019 年最新 Elasticsearch 学习路线图 | 极客时间_大数据_阮一鸣_InfoQ精选文章