es的核心原理 (一)
搜索引擎
搜索引擎的分类
-
全文搜索:谷歌、百度、必应;这种搜索过程到底搜索啥,不知道,有可能是个帖子,也有可能是个门户网站
-
垂直搜索:视频网站、各大电商;这种搜索内容是固定的,比如在懂车帝,你搜索的一定就是汽车
搜索引擎应该具备的要求
-
查询速度快
- 高效的压缩算法
- 快速的编码和解码速度
-
结果准确
- BM25(默认的算法)
- TF-IDF(7.0 之前的算法)
-
检索结果丰富
如何提高搜索引擎的查询数据?答:建立索引
索引的作用:
-
帮助快速检索
-
以数据结构为载体
-
以文件的形式落地
倒排索引的数据结构
词项索引 | 词项字典 | 倒排表 |
---|---|---|
term index | term dictionary | posting list |
FST压缩算法,极大的节省内存。 最高压缩可达20%,接近于hash |
倒排表、词频 | 有序数组,存储了匹配某个 term 的所有 id |
参考文献
https://www.bilibili.com/video/BV1h3411P7cM?p=6&vd_source=3dc6fb647e2c5c53b8a9c4662114a8ea