环境介绍
腾讯云服务器CentOS 7.6 64bit
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
GUN Make 3.82
VIM - Vi IMproverd 7.4 (2013 Aug 10, compiled Dec 15 2020)
Visual Studio Code(ssh 远程连接)
Xshell7(ssh 远程连接)
Xmind思维导图(总体规划与介绍)
# gcc版本查看
gcc --version
# make版本查看
make --version
# vim版本查看
vim --version
运行结果
1.在云服务器中打开特定服务端口 如:8081
2.远程连接服务器,运行服务 如:./http_server
3.使用浏览器访问服务,并使用搜索服务 如:xxx.xxx.xxx.xxx:8081
流程分析
进入主程序后创建搜索引擎,该搜索引擎会根据本地的待搜索资源构建搜索所需的正排与倒排索引结构,通过该结构的支持,就可以实现对指定文本的搜索。下图概述了正排索引与倒排索引的结构。
从上往下:每个文档编号后可以进行有效的管理,文档内容经过分词形成若干索引词,索引词与文档强关联。相同索引词进行同一管理,形成索引词与多文档对应关系。不同索引词进行高效搜索结构管理。
从下往上:通过关键字与索引词的匹配找到索引词,索引词查找在当前索引词下匹配度最高的文档编号,文档编号匹配相应文档内容。
代码结果测试
当前代码在Edge浏览器下电脑访问时存在首次访问时不及时显示,需刷新后立刻显示。在华为手机自带浏览器访问显示正常。当搜索内容的分词结果,存在文档库中时返回对应结果,不存在无显示结果。