综述
该项目使用了BS架构,实现了用户对Boost库进行站内搜索的功能,
用户输入关键字使用http协议通过ajax将数据发送给后端服务器,后端进行分词,
通过倒排索引和正排索引获得若干个文档,
每个文档按照一定权重进行排序,拼接成一个网页反馈给用户,
每个搜索结果包括文档标题,简介,URL,并可以通过点击标题跳转到特定的网址中
效果展示
去标签化,清理数据
将爬虫和下载的boost库的文件,进行提炼,去标签化,保留里面的有效数据
- 提取html文件
- 将提取到的html文件进行提炼有效数据
- 将有效数据的集合写入到一个文件中
构建索引
- 根据将去标签化后构建的内容集合在内存中
构建正排索引
,形成对应的文档结构体 - 将形成的文档结构体在内存中
构建倒排索引
,根据关键词找到对应的倒排拉链
(一系列和该关键字相光的文档集合)- 根据
Jieba
分词对title
和content
进行分词同时划定权重,构建倒排拉链
- 每个倒排索引中都包含权重,之后我们就能够使用权重对文档优先级进行排序
- 根据
用户查询
- 用户输入搜索关键字后,先进行
JieBa分词
- 通过
倒排索引
获得对应的倒排拉链
- 在
倒排拉链
中通过正排索引
获得对应一系列的文档内容 - 根据索引中的权重按高到低进行排序,组合成一个网页反馈给用户