【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的一个映射关系。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
boost_1_68_0.tar.gz 是 Boost C++ 库的一个压缩文件。Boost 是一个开源的 C++ 库集合,为 C++ 提供了许多扩展和增强功能,被广泛应用于 C++ 程序的开发中。 boost_1_68_0.tar.gz 中的 "1_68_0" 表示 Boost 的版本号,即版本1.68.0。每个版本的 Boost 都会提供新的功能、修正错误和改进性能,因此程序员可以根据自己的需求选择合适的版本。 ".tar.gz" 是常见的文件压缩格式,类似于 ZIP 格式。在 Linux 和 Unix 类操作系统中,常用 tar 命令对文件进行打包和压缩,然后使用 gzip 压缩算法进行进一步压缩,生成 .tar.gz 文件。在解压缩时,首先使用 gzip 解压缩,然后再使用 tar 命令进行解包,最终得到原始文件。 要使用 boost_1_68_0.tar.gz,首先需要下载这个压缩文件,并将其解压缩。具体的步骤是: 1. 在 Boost 的官方网站或其他资源站点下载 boost_1_68_0.tar.gz 文件。 2. 使用压缩软件(如 7-Zip、WinRAR 或 tar 命令等)对这个文件进行解压缩。解压缩后会得到一个名为 boost_1_68_0 的文件夹,其中包含 Boost C++ 库的源代码、示例程序和文档等内容。 3. 将解压缩后的文件夹移动到适当的位置,比如放在编译器的包含路径下,以便正确引用 Boost 库。 4. 根据使用 Boost 的需要,在编译器中设置相关的编译选项、链接选项或引用相关的头文件,以便能够正确地使用 Boost 提供的功能。 总之,boost_1_68_0.tar.gz 是 Boost C++ 库的一个压缩文件,包含了 Boost 的源代码和其他相关文件。通过下载、解压缩和正确配置,可以在 C++ 程序中使用 Boost 提供的丰富功能和工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值