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