ElasticSearch

视频学习地址:https://www.bilibili.com/video/BV1LF411j7rm/?p=8&spm_id_from=pageDriver&vd_source=12d06e602c3462c026d1a4781241f2d4

 

 倒排表:有存储 就会有数据量大的问题,怎么去解决数据量大的问题:1.压缩大数据变成小数据(压缩算法) 2.如何存数据让查询更快(数据结构)

如图 posting LIst 匹配到了100w条的数据

 

 

倒排表算法_Frame Of Referenct压缩算法 :适用稠密数组

倒排表存储结构为有序数组 所以现在有了100w的int, 1个int类型占用4个字节 100W就是3.8MB的数据 这还只是匹配一个 如果100w的原始文本 每个文本差不多相同 所以拆分出来的词项匹配都相同 

每一个原始数据都会被拆分成词项  如果原始数据为100Wt条 因为拆分里面的词 可能会导致 倒排表的数据比原始表还多

倒排表算法_RoaringBitmap压缩算法:适用稀疏数组 数组的差值比较大

 

 如图得到的倒排表 词典数组是这样的 就用RBM算法

一个int类型 32位整形 32bit =2的16次方*2的16次方相乘 int的最大值 不会超过2的32次方   

 

FST的构建过程:https://www.bilibili.com/video/BV1LF411j7rm?p=11&spm_id_from=pageDriver&vd_source=12d06e602c3462c026d1a4781241f2d4

理解数据结构:前缀树和 FST有限状态转换机

 

 Lucene字典原理:FST在Lucene的构建原理,:https://www.cnblogs.com/LBSer/p/4119841.html

 

posted @ 2022-11-15 17:02  12不懂3  阅读(22)  评论(0编辑  收藏  举报
创作不易,请勿抄袭,欢迎转载!