C++ 倒排索引的实现

这篇博客介绍了如何使用C++的STL中的MAP来实现倒排索引。通过循环读取文件中的英文单词并结合文件ID,构建索引表。文章还提到程序存在一些限制,例如无法处理中文词组、符号以及未统计单词频率等。
摘要由CSDN通过智能技术生成

1.1基本介绍

 倒排索引的概念很简单:就是将文件中的单词作为关键字,然后建立单词与文件的映射关系。当然,你还可以添加文件中单词出现的频数等信息。倒排索引是搜索引擎中一个很基本的概念,几乎所有的搜索引擎都会使用到倒排索引。

1.2 准备工作

²  5个源文件

Test0.txt, Test1.txt,Test2.txt, Test3.txt, Test4.txt

里面包含了一些英文句子,由单词组成,空格分开

²  Index.txt

由文件ID和文件的绝对路径构成,一个文件占一行

²  Result.txt

显示结果的文件,倒排索引表将在里面显示出来,单词后面跟的文件ID

 

1.3算法描述

²  使用C++的STL中的MAP存储索引表,string 存储单词,vector存储文件ID,循环读入文件,将文件中的单词一个一个读入进来,再添加上文件ID,直到所有的文件都被处理完。遍历索引表MAP,输出结果。

²  字典树建立,例程将26个字母映射成0~25的数字,每读入一个的单词插入单词的同时建立起字典树,每个字母有26个后继,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值