搜索引擎的设计与实现(四)

目录

6 系统测试

6.1测试重要性

6.2测试用例

结   论

参 考 文 献


前面内容请移步

搜索引擎的设计与实现(三)

免费源代码&毕业设计论文

搜索引擎的设计与实现

6 系统测试

6.1测试重要性

        该项目是在本地服务器上进行运行和调试,首先是对Java环境的安装及配置,以及对数据库环境的安装与配置,安装完毕后将文件导入根目录,以后才可以在浏览器上进行运行、测试。

        在项目开发过程中,会遇到那种错综复杂的问题,所以,测试在软件开发过程中起到了至关重要的作用,它的影响力不比任何开发的环节低,因为软件的开发是一项巨大的工程,不仅耗时,而且开发人员也不可能会预料到所有可能出现的情况,这样就会导致每个时期都难免会产生一系列的错误,而测试人员的主要职责就是,检查与发现程序在运行的程中的错误;一个优异的测试用例,就说明这个测试用例可以有极大地概率找出系统中目前还没有被觉察到的错误;找出目前还没有觉察到的错误,这就是成功的测试的标准。本系统的测试和纠错信息流程如图6.1所示。

图6-1  测试和纠错信息流程图

        软件测试,又称为多模块测试,一共有四个阶段:

表6-1  测试阶段的介绍表

单元测试

单元测试的用例从单元详细设计中导出。

功能性测试与结构性测试可用于单元测试。

集成、确认测试

这一阶段的任务,是通过把单元测试中的各个模块按要求整合到一起,通过调试等步骤,获得一套可以满足用户需求的软件。

系统测试

本阶段中所寻找的错误通常是与目标需求之间存在的差距。通常是属于功能性测试的。

图6-2  层次测试的信息流程图

6.2测试用例

        通过输入关键字进行查询,然后根据搜索结果判断系统是否存在问题.

            例:搜索“在”,反馈结果如图6-2所示:

 

图6-3 搜索结果图1

        可见搜索结果是正确的,并且关键字都已高亮度显示。

 

结   论

         本次设计主要就是通过利用Lucene技术,来实现搜索引擎的设计和实现的过程。其中用到了开源工具有MyEcipse(提供项目运行的Java环境,编写程序空间)、sql server2008(数据库,用户前端展示信息的支撑,是数据的存储地)、tomcat(服务器,用户提交检索请求,由它来进行接收、处理)他们分别管控的自身的部分,同时也相互协调配合,这一功能得以正常运行和实现,是缺一不可的。

         本项目是对一个基于Lucene技术的搜索引擎设计与实现的过程,通过开源库Lucene的支持,快速地实现了海量信息的搜索功能,它不仅实现了文件快速查找的功能,而且还实现了全文搜索,还能实现类似百度的分词搜索效果,效果颇佳。同时加入了数据库处理。

        该系统可以通过扩展或改造然后适用于站内搜索,这样可以使用户快速的找到自己想浏览的信息,提高用户体验和网站流量。

        到此搜索引擎的基本功能都已基本完成,但是还有待改进或加强的地方,例如如果把分词做到最优最人性化,怎样分才是最合理,都需要进一步研究。

参 考 文 献

  • 1.] 李刚,宋伟,邱哲.征服Ajax+Lucene构建搜索引擎.北京:人民邮电出版社,2006.
  • 2.] 邱哲,符滔滔.开发自己的搜索引擎-Lucene2.0+Heritrix.北京:人民邮电出版社,2007.
  • 3.] 孙承杰.基于统计的网页正文信息抽取方法的研究.中文信息学报,2004,18(5):17-22.
  • 4.] http://www.docin.com/p-1436638591.html基于Lucene全文检索引擎的应用研究与实现.
  • 5.] 朱明.数据挖掘.合肥:中国科学技术大学出版社,2002.
  • 6.] Hu Y H, Li H, Cao Y B et al. Automatic extraction of titles from general documents using machine learning. Information Processing and Management, 2005, 42 (5):1276-1293.
  • 7.] 王德峰,李东.搜索引擎Google的体系结构及其核心技术研究.哈尔滨商业大学学报(自然科学版),2006,(01).
  • 8.] 吕平.基于Ajax的IP网络管理系统的研究与实现:(硕士学位论文).北京:北京交通大学, 2007.
  • 9.] 陈兵国.基于AJAX的网站设计与实现.福建电脑,2007,(12).
  • 10.] 张校乾,金玉玲,侯丽波.一种基于Lucene检索引擎的全文数据库的研究与实现.现代图书情报技术,2005.
  • 11.] 杨海东.基于Ajax技术的异步搜索引擎研究与实现:(硕士学位论文).南京信息工程大学,2007.
  • 12.] 周珍娟,张字平,陆玲.基于Lucene2.0的电子文献全文检索系统.电脑知识与技术(学术交流),2007.
  • 13.] 朱永盛,武港山.基于Web的新闻信息抽取.计算机工程,2006,32(10):74-76.
  • 14.] 刘迁,贾惠波.中文信息处理中自动分词技术的研究与展望.计算机工程与应用,2006.
  • 15.] 丁承.基于字表的中文搜索引擎分词系统的设计与实现.计算机工程,2001.

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/330535.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring6基础笔记

Spring6 Log4j2 1、概述 1.1、Spring是什么? Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发…

面试准备-八股【面试准备】

面试准备-八股【面试准备】 Java基础解决hash冲突的方法try catch finallyException与Error的包结构OOM你遇到过哪些情况,SOF你遇到过哪些情况线程有哪些基本状态?Java IO与 NIO的区别堆和栈的区别对象分配规则notify()和notifyAll()有什么区别?sleep()…

足球走地全自动化操作软件实现过程

本次采用selenium实现自动化操作的流程 打开浏览器录入账号密码等待数据请求(监听)有新数据,进行自动化操作通过homeName搜索,找到对应数据找到对应的类型(让、大小…)找到对应的盘口输入数量提交 附登录…

C#编程-.NET Framework使用工具类简化对象之间的属性复制和操作

在C#编程中,对象之间的属性复制和操作是一个常见的需求。为此,.NET Framework提供了多种实用工具库,如AutoMapper、ValueInjecter和ExpressMapper。这些库通过简化代码,提高了开发效率。本文将介绍这些工具库,比较它们…

《我的阿勒泰》观后感(一、什么叫做有用)

通过央视热播短剧《我的阿勒泰》,认识了李娟老师。同时也认识了她的作品,值得推荐。 生命并不荒凉,它是一种安静的绝美。 生活,如同一个巨大的迷宫,充满了未知和变数。有时,我们会在其中迷失方向&#xf…

线性规划库PuLP使用教程

Python求解线性规划——PuLP使用教程 简洁是智慧的灵魂,冗长是肤浅的藻饰。——莎士比亚《哈姆雷特》 文章目录 一、说明二、安装 PuLP 库三、线性规划简介3.1 线性规划3.1.1 高考题目描述3.1.2 基本概念 3.2 整数规划3.2.1 题目描述[3]3.2.2 解题思路 四、求解过程…

五分钟”手撕“图书管理系统

前言: 图书馆管理系统需要结合JavaSE的绝大部分知识,是一个很好的训练项目。 为了让大家更加方便的查阅与学习,我把代码放开头,供大家查询。 还有对代码的分析,我将以类为单位分开讲解。 目录 全部代码 Main类 Us…

智慧校园(安校易)管理系统 FileUpProductupdate.aspx 任意文件上传漏洞复现

0x01 产品简介 “安校易”是银达云创公司基于多年教育市场信息化建设经验沉淀,经过充分的客户需求调研,并依据国家“十三五”教育信息化建设规范而推出的综合互联网+教育信息化解决方案。“安校易”以物联网技术为基础,以学生在校“学食住行”管理为中心,将消费管理、门禁…

头歌01 -部分背包

蜜雪冰城店要举行一场调制饮品比赛。具体说明如下: 1)参赛者拥有容量为800ml的杯子,可任选图2中的饮品进行混合;说明:图2中的饮品价格和体积已确定。 图2 2)调制饮品价格为各所使用饮料的价格之和&#xff…

spring boot集成Knife4j

文章目录 一、Knife4j是什么?二、使用步骤1.引入依赖2.新增相关的配置类3.添加配置信息4.新建测试类5. 启动项目 三、其他版本集成时常见异常1. Failed to start bean ‘documentationPluginsBootstrapper2.访问地址后报404 一、Knife4j是什么? 前言&…

链游:区块链技术的游戏新纪元

随着区块链技术的快速发展,越来越多的行业开始探索与其结合的可能性,其中,游戏行业与区块链的结合尤为引人注目。链游,即基于区块链技术的游戏,正以其独特的优势,为玩家带来全新的游戏体验。本文将对链游进…

算法打卡 Day13(栈与队列)-滑动窗口最大值 + 前 K 个高频元素 + 总结

文章目录 Leetcode 239-滑动窗口最大值题目描述解题思路 Leetcode 347-前 K 个高频元素题目描述解题思路 栈与队列总结 Leetcode 239-滑动窗口最大值 题目描述 https://leetcode.cn/problems/sliding-window-maximum/description/ 解题思路 在本题中我们使用自定义的单调队列…

监控上网的软件有哪些?含泪推荐的电脑监控软件

监控上网的软件有很多,企业选择的时候应该遵循什么样的原则呢?鄙人愚见,认为以下四项原则是选择监控软件时首要考虑的。 1、功能需求: 监控软件不应该只是起到控制上网的作用,因为一些泄密行为可能是通过USB接口、打印…

如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境?

参考文章: 【最全指南】如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境?_多个conda环境 notebook用的哪个-CSDN博客 感谢这篇文章博主的解答,成功解决了我的难题。以下做一些具体的操作方法以及心得体会: 这里我使用的这篇…

MySQL主从复制(四):主备切换

一主多从结果: 图中, 虚线箭头表示的是主备关系, 也就是A和A’互为主备, 从库B、 C、 D指向的是主库A。 一主多从的设置, 一般用于读写分离, 主库负责所有的写入和一部分读, 其他的读请求则由从…

网络传输层

叠甲:以下文章主要是依靠我的实际编码学习中总结出来的经验之谈,求逻辑自洽,不能百分百保证正确,有错误、未定义、不合适的内容请尽情指出! 文章目录 1.端口号的基础2.传输层两协议2.1.UDP 协议2.1.1.协议结构2.1.2.封…

【Vue2.x】props技术详解

1.什么是prop? 定义:组件标签上注册的一些自定义属性作用:向子组件传递数据特点 可以传递任意数量的prop可以传递任意类型的prop 2.prop校验 为了避免乱传数据,需要进行校验 完整写法 将之前props数组的写法,改为对象…

【软件测试】Selenium + Chrome UI自动化环境搭建

文章目录 自动化测试 Selenium Chrome 环境搭建1、下载Chrome 浏览器2、取消Chrome浏览器自动更新3、下载ChromeDriver4、测试环境是否搭建成功 自动化测试 Selenium Chrome 环境搭建 1、下载Chrome 浏览器 https://www.slimjet.com/chrome/google-chrome-old-version.php …

YOLOv8_seg的训练、验证、预测及导出[实例分割实践篇]

实例分割数据集链接,还是和目标检测篇一样,从coco2017val数据集中挑出来person和surfboard两类:链接:百度网盘 请输入提取码 提取码:3xmm 1.实例分割数据划分及配置 1.1实例分割数据划分 从上面得到的数据还不能够直接训练,需要按照一定的比例划分训练集和验证集,并按…

Linux信号:信号的保存

目录 一、信号在内核中的表示 二、sigset_t 2.1sigset_t的概念和意义 2.2信号集操作数 三、信号集操作数的使用 3.1sigprocmask 3.2sigpending 3.3sigemptyset 四、代码演示 一、信号在内核中的表示 实际执行信号的处理动作称为信号 递达(Delivery) 。 信号从产生到递达…