一)项目背景:
首先介绍一下项目:项目的目标是实现一个基于JAVAAPI的站内搜索引擎
java官方文档是在学习java语言中不可或缺的权威资料,相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和准确,因为没有人比作者更加了解自己的作品,官方文档一定是最了解自己的作品的,通过查阅java文档,可以准确而全面地了解到自己需要了解的知识点,但目前Java官方文档只能通过滚动条寻找关键字进行点击的方式来查询,自然就存在着查询低效的问题,为了解决这一问题,也为了能够加深对java知识的应用,我尝试构建了一个针对java文档的站内搜索引擎,可以有效提高查询效率
二)项目功能:
一个网页上面有一个搜索框,用户输入查询词以后进行搜索,将会在服务器中检索出所有和查询词相关的文档,并且把这些信息返回给用户,用户点击结果中的链接就会跳转到线上文档对应的url;
1)预处理模块:将下载好的JAVAAPI文档的html进行初步的处理,把若干个html文件处理成一个行文本格式的文件,每一行对应一个文档,每一行对应着一个文档,每一行有三列,包含了标题+url(线下文档的url)+正文;
2)索引模块:根据预处理模块的输出文件,制作正排和倒排索引,这是一种数据结构,正排索引是根据文档的ID找到文档相关信息,倒排索引是根据词在那些文档ID中存在,在进行创建正排索引以后,根据创建好的正排索引来创建倒排索引
3)搜索模块:从用户拆分出查询词,根据查询词,得到最终的结果
4)前端模块:显示最终结果,和用户进行交互;
三)测试目的:
验证搜索引擎的功能是否可以正常的运行,并且可以通过手工测试和自动化测试的方式,尽可能地发现程序中存在的错误,以便可以针对错误进行修正,提高程序的可靠性,满足用户的使用需求,提高用户的使用体验;
四)手工测试:
飞书测试链接:https://nxqjlyz94q2.feishu.cn/wiki/QrcawJqn2iqk4YkH1PMcvi0VnHg?create_from=create_doc_to_wiki#mindmap
4.1)预处理模块测试:
4.2)索引模块测试:根据第一步处理的行文本格式的数据创建正排索引和倒排索引
4.3)前端搜索模块进行测试:
功能测试:
界面测试+兼容性测试:
可靠性测试+性能测试+弱网测试:
文档测试+安全测试