简介
简单来说 ElasticSearch 就是一个搜索框架。对于搜索这个词我们并不陌生,当我们输入关键词后,返回含有该关键词的所有信息结果。
在我们平时用到最多的便是数据库搜索:
SELECT * FROM USEWHERENAMELIKE %小菜%
但是用数据库做搜索存在着许多弊端,例如:
存储问题:当数据量大的时候就必须进行分库分表。
性能问题:当数据量过大时,使用LIKE会对上亿条数据进行逐行扫描,性能受到严重影响。
不能分词:当我们搜索 游戏本电脑 的时候,只会返回完全和关键词一样的数据,如果搜索 游戏电脑,那么是不是就会没有数据返回。
因此基于以上问题,ElasticSearch出现了。它是使用 Java 开发的,基于 Lucene、分布式、通过 Restful 方式进行交互的近实时搜索平台框架。它的优点如下:
分布式的搜索引擎和数据分析引擎
全文检索,结构化检索和数据分析
对海量数据进行近实时的处理
Lucene 介绍
Lucene 是一个功能强大的搜索库,如果我们直接基于 Lucene 开发,那么会非常复杂。而 ElasticSearch 是基于 Lucene 开发的,封装了许多 Lucene 底层功能,提供了简单易用的 RestFul api接口和许多语言的客户端。
ElasticSearch核心概念
NRT(Near Realtime) 近实时
写入数据时,过 1 秒才会被搜索到,因为内部需要分词,引入索引
es 搜索和分析数据都是秒级内出结果
现在我们身边的很多互联网公司都在使用 Elasticsearch,被如此之多的企业所认可的技术,我们没有理由不去深入学习一下
但要深入理解并高效使用,就没那么简单了,比如:
![](https://img-blog.csdnimg.cn/img_convert/8bd7aa695eb84a9295dbbd52c6a2032a.png)
然而很多朋友看枯燥的书籍却苦苦没有进展,因此我熬夜整理出了这份Elasticsearch 核心知识学习手册,基于 Elasticsearch 7.x 版本,由浅入深地讲解了 ES 的基本概念与服务搭建,带你熟知其运行机制和常用技巧,并通过上手实战,掌握 ES 在实际项目中的应用。希望对你有所帮助
第一到三节
Elastic Stack简介
Elasticsearch是什么
Elasticsearch相关软件安装
![](https://img-blog.csdnimg.cn/img_convert/f761d738b21b4f3b98526869f3fa2461.png)
![](https://img-blog.csdnimg.cn/img_convert/f8b46984b0bb42c389e0a03ad24f9051.png)
第四到六节
es快速入门
文档document入门
Java api 实现文档管理
![](https://img-blog.csdnimg.cn/img_convert/544e94c3225b445c9d261f3780b527e1.png)
![](https://img-blog.csdnimg.cn/img_convert/a700e2e2dbf74ec79a2b1b5ede6ae086.png)
第七到九节
图解es内部机制
图解文档存储机制
Mapping映射入门
![](https://img-blog.csdnimg.cn/img_convert/dd316231a40a445885514b46aa6c4273.png)
第十到十二节
索引Index入门
中文分词器 IK分词器
java api 实现索引管理
![](https://img-blog.csdnimg.cn/img_convert/95b48329c76a434d80537d9a74bc0fd1.png)
第十三到十五节
search搜索入门
java api实现搜索
评分机制详解
![](https://img-blog.csdnimg.cn/img_convert/868524c33f594faa8065d11ab15ccde0.png)
![](https://img-blog.csdnimg.cn/img_convert/8aac2266b9b941b592f168c80178bc11.png)
第十六到十八节
聚合入门
java api实现聚合
es7 sql新特性
![](https://img-blog.csdnimg.cn/img_convert/8f8f2b6ad87c43ef88743b32a81d1024.png)
第十九到二十二节
Logstash学习
kibana学习
集群部署
项目实战
![](https://img-blog.csdnimg.cn/img_convert/01913c0bb3454563b7c45a73382bed29.png)
![](https://img-blog.csdnimg.cn/img_convert/3d0099963f6f4275904be159ab47bcf5.png)
总结
其实,想要掌握 Elasticsearch,不仅要理解其分布式架构的原理外,还要掌握一些信息检索领域的知识及相关技巧。这里,分享给你一张Elasticsearch 核心知识图谱,只有深入理解每个知识点,才能解决工作中的实际问题。
![](https://img-blog.csdnimg.cn/img_convert/fddcb2d216bf4fe2b0d4014d1b2c4bb4.png)