倒排索引

       倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。(摘自百度百科)

 

一组数据:

    id(0) = contents(“my name is index”)
    id(1) = contents(“my name is inverted index”)
    id(2) = contents(“my name is happybean”)
    …

 

一般情况下往往根据key(文章id)去查找对应的value(文章内容)。

       查找 id为1的文章内容:

    id = 1 : my name is inverted index

 

如果此时想查找 index 出现在哪个文章中,需要遍历整个文章库,再比较内容中是否包含index 这个单词。

显然,从效率上看,该方法不是很高效,尤其是海量数据中,更是不可取的。

那么以反向思维来思考,以文章内容中的单词为key,单词所在文章号为value,就可以很好的解决以上问题。

       建立单词和文章id的映射关系:

   my       :{0,1,2}
   name     :{0,1,2}
   is       :{0,1,2}
   index    :{0,1}
   inverted :{1}
   happybean:{2}

此时再查找index出现在哪个文章中,便一目了然了。

若查找 inverted index 出现在哪个文章中,只需计算集合:

 inverted ∩ index = {1} ∩ {0,1} = {1}

所以, inverted index 在 id 为 1 的文章中。单词和文章id的映射关系就可以看作为倒排索引。

这便是我理解的倒排索引的基本模型了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值