倒排索引结构分析

倒排索引结构分析

        词典:从文件里面抽取出来的所有的分词,有中文的,有英文的,有同义词的,有近义词的,有单数复数的,这些都是需要归类的。
        每一个词典里的每一个关键字都有它对应的倒排项:在哪个文档里啊,出现了多少次啊,在哪些位置啊。
 

        一个关键字的多个倒排项合起来就叫做:倒排列表(最终存储在磁盘上)
磁盘上的文件保存了所有的倒排列表:叫做倒排文件

        当我们去搜索“search”的时候,首先从词典中找到“search”,然后就直接就可以找到“search”对应的倒排列表了,

        在倒排列表里面,我们拿了2个倒排项:P1和P2,
        这2个倒排项给用户呈现结果的时候,是怎么样呈现的?
        我们的倒排项里有:词频。词频高的往前放,比如说,“search”在P1里出现了3次,在P2里面出现了5次,所以我们就把P2先呈现,先呈现P2文档的链接,甚至可以把P2文档包含的这个“search”关键字的一些前后的简要信息呈现出来,然后再呈现P1。

         再比如说,我们用户搜索的是“search google”,搜索了2个关键字。
        这2个关键字首先对于搜索引擎来说,会把它们分开,分别找“search”和“google”的倒排列表,
先搜索“search”,直接找见其对应的倒排列表:P1,P2,然后搜索“google",直接找到其对应的倒排列表:P2。

        然后因为用户搜索的是“search google”,此时搜索引擎分别找到这2个关键字对应的倒排项后,会对这2个关键字的倒排项进行取交集。这个交集就是P2

在这里插入图片描述

        也就是说,只有在P2这个文档里,既包含了search,又包含了google;所以优先呈现的是P2了。
        首先呈现的是最匹配的,然后呈现的那些文档可能就只包含了用户搜索的关键字的其中几个。根据匹配度进行结果的呈现。
        实际上,在罗列的时候,更加严格,因为取交集以后,人家用户搜索的是search google这2个关键字是在一起连着的,虽然取的是交集-包含了search和google的文档P2,但是在P2文档中,search和google可能不是连在一起的 ,不在一块,没有组成1个句子的,此时,它怎么去分辨?假如说,交集的结果是有很多个文档,怎么办?它首先在这些文档看, 看一下search和google在这个文档里的位置,有没有哪一个位置是前后的,比如说,search是10,google是11,就说明这2个关键字是连续出现的,和用户的搜索的匹配度是最高的,就优先呈现,而且关键字的前后的备注信息,就是从这2个词的前后拿一些信息作为搜索结果呈现的摘要信息。

        倒排项经常必须有的就是:文档编号,词频,在文档的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值