一:为什么要学习Elasticsearch?
它是一个分布式的开源搜索和分析引擎,点击此处了解更多,它的底层使用开源库Lucene,并且,Elasticsearch对Lucene再次做了简化封装,可以直接为我们提供rest Api(只需给它发送请求即可)
二: Elasticsearch 的用途是什么?
Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:
- 应用程序搜索
- 网站搜索
- 企业搜索
- 日志处理和分析
- 基础设施指标和容器监测
- 应用程序性能监测
- 地理空间数据分析和可视化
- 安全分析
- 业务分析
Elasticsearch官方中文文档
Elasticsearch官方英文文档
三:基本概念
- Index(索引)
动词,相当于mysql中的insert (MySQL叫”插入一条数据”,而elasticsearch叫”索引一条数据”)
名词,相当于Mysql中的database;(要在elasticsearch存数据,必须创建一个Index) - Type(类型)
在Index(索引) 中,可以定义多个类型 ;类似于MySQL中的Table,一个数据可可以有多个索引. - Document(文档)
保存在某个索引(Index)下(MySQL的某个数据库下),某个类型(Type)下的一个数据(MySQL表中的某条数据)就叫Document;且文档均是JSON格式.
四:Elasticsearch——-倒排索引
Elasticsearch之所以可以帮我们更快的找到我们所需要的数据,就是因为它的倒排索引机制
倒排索引表:
词 | 记录 |
---|---|
红海 | 1,2,3,4,5 |
行动 | 1,2,3 |
探索 | 2,5 |
特别 | 4,5 |
纪录片 | 4 |
特工 | 5 |
分词:将整句拆分成单词
保存的记录
- 1.红海行动
- 2.探索红海行动
- 3.红海特别行动
- 4.红海纪录片
- 5.特工红海特别探索
检索:
- 红海特工行动?
- 红海行动?
-
在MySQL中,我们模糊查找数据时,都使用like %**%关键字,这就使得查询效率特别低下(无法使用索引);
-
Elasticsearch在保存记录时,例如上述5条数据,它会额外维护一张倒排索引表,例如:存储 – 1.红海行动,它的操作如下:
- 分词:将”红海行动”分为”红海”和”行动”2个单词(当然,也可以拆成”红”,“海”,“行”,”动”4个字),此时,倒排索引表将会插入如下记录:(这里姑且将1想象成每条记录的id吧)
词 | 记录 |
---|---|
红海 | 1 |
行动 | 1 |
- 接下来我们保存第2条记录 – 2.探索红海行动,此时,倒排索引表会继续分词,假设分成”探索”,”红海”和”行动”3个单词,此时,倒排索引表变成这样
词 | 记录 |
---|---|
红海 | 1,2 |
行动 | 1,2 |
探索 | 2 |
- 以此类推,保存 – 3.红海特别行动,倒排索引表变为
词 | 记录 |
---|---|
红海 | 1,2,3 |
行动 | 1,2,3 |
探索 | 2 |
特别 | 3 |
- 保存 4.红海纪录片,倒排索引表变为
词 | 记录 |
---|---|
红海 | 1,2,3,4 |
行动 | 1,2,3 |
探索 | 2 |
特别 | 3 |
纪录片 | 4 |
- 保存**- 5.特工红海特别探索**,倒排索引表变为即变为
词 | 记录 |
---|---|
红海 | 1,2,3,4,5 |
行动 | 1,2,3 |
探索 | 2,5 |
特别 | 4,5 |
纪录片 | 4 |
特工 | 5 |
此时假设我们要检索:
- 红海特工行动?
- 红海行动?
检索步骤:
- 将检索内容查分成单词
保存的记录: - 1.红海行动
- 2.探索红海行动
- 3.红海特别行动
- 4.红海纪录片
- 5.特工红海特别探索
举例:当我们查询** 1) 红海特工行动?这条记录时,它先将其拆分成”红海”,“特工”,”行动”三个单词,此时我们在倒排索引表中可以看到,这3个单词在5条记录都存在,但是,我们要的只有一条, Elasticsearch查出的记录会有一个相关性得分:由于3号和5号记录命中了2个单词**,所以最符合的是它俩,但那个更符合呢?
3号记录中,被我妈拆分成3个单词,有2个就已经命中,命中率2/3; 而5号记录共4个单词,命中2个单词,因为此时2/3 >2/4=1/2,故3号的相关性得分最高,因此3号就是我们要查的最相思的数据(类似于MySQL的模糊查询)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96846.html