主页 > 创业  > 

【boost_search搜索引擎】2.正排索引和倒排索引


首先,要制作搜索引擎,我们首先要了解,什么是正排索引,什么是倒排索引,这是一个搜索引擎的关键。

1.正排索引

正排索引,其实就是我们的每一个文档,对应一个文档id。 正如vector容器一样:数组的每一个元素,对应着一个下标。 正排索引也是这个道理,一个文档对应一个文档id,这也给了我们一个思路,就是我们在实现正排索引的时候,我们可以用vector来存储,这样顺序表的下标天然的就能作为我们文档的id。

就比如这个表格,我们每一个网站对应了一个id,我们通过这个id,就可以访问到对应的网站。

文档id文档1小米汽车2小米手机3小米家具4小米公司 2.倒排索引

倒排索引,是我们搜索最关键的部分,就比如,我们搜索,输入一个关键词,比如:小米品牌手机。 然后我们的搜索引擎会将这个搜索关键字进行分词,变成 小米/品牌/手机。 然后我们需要进行内容匹配,就比如,小米这个词,在文档1,2,3,4都有, 手机只有2有,然后再设置一个权重,将匹配的最多的文档id放在前面展示

关键词文档id小米1,2,3,4手机2

然后我们再根据文档id去找到文档,从而实现了一个正排倒排索引的配合,达到我们搜索的目的。 这里的倒排索引我们可以用一个关键词匹配到的文档id用一个vector来存储,然后关键词对应着一个vector,那我们就可以想到用unordered_map来存储, 建立关键词<->文档id的一个映射关系。

标签:

【boost_search搜索引擎】2.正排索引和倒排索引由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【boost_search搜索引擎】2.正排索引和倒排索引