> 本文最早发布于公众号极客军营,原文地址
今年5月,由于参与的项目中有大量的全文搜索业务场景,我开始深入学习和使用Elasticsearch。然而,刚开始的学习之路并不顺利,这主要有如下两点原因:
- Elasticsearch的相关资料比较少,优秀的书籍确实不多;
- Elasticsearch更新太快,且新版本与老版本相比变化较大,很多书籍的内容都有些过时。
经过这半年多的学习和实践,我对Elasticsearch有了更加深入的了解。于是我有了一个想法:写一份关于Elasticsearch的教程,一是对自己的学习成果做一个总结;二是希望能够帮助到更多的人学习Elasticsearch。
该系列教程将基于Elasticsearch的最新版本7.15.2(截至21年12月7日)。结合我自己的学习经历,我计划将整个教程按照从易到难,分成如下四个章节:
一、基础篇
相信很多读者跟我一样,都是一线研发工程师。学习Elasticsearch主要是为了能快速掌握其基本概念,具备开发搜索类应用的能力。本章目标就是能让大家快速掌握Elasticsearch的基础知识,尽快让大家有能力利用Elasticsearch开发业务功能。
本章不会涉及分片、副本、集群等分布式概念,更不会包含对Apache Lucene的讲解。因为这些对Elasticsearch应用开发都是透明的。
学习完本章后,你将会了解如下内容:
- 什么是索引;
- 什么是索引的mapping;
- ElasticSearch数据的CRUD操作;
- 常用的搜索(search)操作;
- 搜索的原理——分词器、倒排索引;
只要认真学习完本章内容后,你一定有能力胜任Elasticsearch应用的开发工作,并为后续的深入学习打好基础。
二、分布式篇
虽然分片、副本、集群这些概念对应用开发是透明的,但对于一些高级别同学,除了要负责普通的业务需求开发外,还要能胜任生产运维、容量规划、系统调优等工作。这就要求我们对Elasticsearch集群的分布式工作方式有深刻的理解。
本章会介绍Elasticsearch集群如何水平扩展、如何确保集群高可用、如何执行分布式搜索等内容。
三、深入搜索篇
在学习完前两个章节后,相信大家已经有能力在工作中很好的使用Elasticsearch了。但业务需求复杂多变,如何为用户提供更精准的搜索结果,提供用户真正想要获取的信息是我们不断追求的目标。本章将深挖搜索的各项特性,介绍如何对搜索结果进行优化。
四、深入聚合篇
除了搜索以外,ElasticSearch还是一个大数据分析平台,具有非常强的数据分析能力。相比于Hadoop的“T+1”时效性,ElasticSearch的性能更高,可以近实时的获取数据分析结果。本章会对ElasticSearch聚合分析的能力做深入的介绍,帮助大家具备从海量数据中快速获取分析结果的能力。
最后,感谢阅读本文的你,希望你能喜欢接下来的教程。下面话不多说,让我们开启ElasticSearch学习之旅吧!
喜欢本文的朋友,欢迎关注公众号极客军营,收看更多精彩内容
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。