码迷,mamicode.com
首页 > 其他好文 > 详细

阿里面试题解答-倒排索引

时间:2019-07-17 00:04:02      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:比较   clipboard   原理   type   set   href   boa   产生   term   

倒排索引原理?

elasticsearch 倒排索引原理 - 知乎

倒排索引就是通过值去找文件

技术图片

技术图片

term dictionary:如果后面的 term 比较多,例如 18 岁的有好几万人。需要提高查询效率,因此产生了 term dictionary,就是吧所有的 term 做一下排序,然后使用二分查找,logN次 访问磁盘
term index:每次访问磁盘太慢了,需要放到内存里,可以整个 term dictionary 太大了,只能放一部分。所以出现了这个 Term Index,它其实是一个 Trie 树。

技术图片

最后得到下面的这样一个东西,先查 term index,然后 term dictionary,然后二分查找元素

技术图片

 

如何联合索引查询?

  • 使用skip list数据结构。同时遍历gender和age的posting list,互相skip;
  • 使用bitset数据结构,对gender和age两个filter分别求出bitset,对两个bitset做AND操作。
什么是跳表(skip list)深夜学算法之SkipList:让链表飞
bitset 就是给所有的文件做一个 bit 表,然后按位与。
 

阿里面试题解答-倒排索引

标签:比较   clipboard   原理   type   set   href   boa   产生   term   

原文地址:https://www.cnblogs.com/coderbean/p/11198201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!