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