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

目录

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.mzph.cn/news/837750.shtml

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

相关文章

【从零开始学习Redis | 第十一篇】快速介绍Redis持久化策略

前言: Redis 作为一种快速、高效的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景。然而,由于其特性是基于内存的,一旦服务器进程退出,内存中的数据就会丢失。为了解决这一问题,Redis 提供了持久…

IT技术产品:开发者极为重要的思维习惯

1、特色内容预告 1、我用敏捷开发思维,提高工作效率。 2、我用代码批判思维,逐渐让自己的作品变得无可挑剔。 3、我是一个顶级程序员,是哪些重要的专业习惯,让我如此优秀? 2、可以免费获取到的IT资源 1、《软件工程&a…

paddle ocr 版面分析

教程 https://github.com/PaddlePaddle/PaddleOCR/blob/a4b7d3ba4a8333a23bab1fc1472aa18deec211d1/ppstructure/layout/README_ch.md 额外的模型,但是yolov2的模型缺少yml配置文件,找不到 https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppstruc…

【嵌入式模块芯片开发】ADXL345的优化精确测量和角度计算(中断单次测量、卡尔曼滤波)

【嵌入式模块芯片开发】ADXL345的优化精确测量和角度计算(中断单次测量、卡尔曼滤波) 文章目录 ADXL345的一般读取方式ADXL345的中断读取方式(单次测量)角度计算卡尔曼滤波优化后完整代码附录:压缩字符串、大小端格式…

面向对象 04:三大特性之——封装,封装的含义和作用,以及在 Java 中的使用方式,附完整的测试案例代码

一、前言 记录时间 [2024-05-11] 系列文章简摘: 面向对象 01:Java 面向对象相关内容整体概述 面向对象 02:区分面向过程与面向对象,类和对象的关系 面向对象 03:类与对象的创建、初始化和使用,通过 new 关键…

@vueuse/core 常用方法

createGlobalState | VueUse中文文档 <template><div class"container"><div>{{ x }}-{{ y }}</div><div>{{ store }}</div><div><button click"addNum">add-{{ counter }}</button></div>…

计算机vcruntime140.dll找不到如何修复,分享5种靠谱的修复教程

当您在运行某个应用程序或游戏时遇到提示“找不到vcruntime140.dll”&#xff0c;这通常意味着系统中缺少了Visual C Redistributable for Visual Studio 2015或更高版本的一个重要组件。这个错误通常发生在运行某些程序时&#xff0c;系统无法找到所需的动态链接库文件。小编将…

【JAVA】数组的应用场景

1 保存数据 public static void main(String[] args) {int[] array {1, 2, 3};for(int i 0; i < array.length; i){System.out.println(array[i] " ");} } 2 作为函数的参数 1. 参数传基本数据类型 public static void main(String[] args) {int num 0;fu…

917.仅仅反转字母(leetcode)

给你一个字符串 s &#xff0c;根据下述规则反转字符串&#xff1a; 所有非英文字母保留在原有位置。所有英文字母&#xff08;小写或大写&#xff09;位置反转。 返回反转后的 s 。 示例 1&#xff1a; 输入&#xff1a;s "ab-cd" 输出&#xff1a;"dc-ba&quo…

手撸XXL-JOB(三)——本地定时任务管理平台

引言 在XXL-JOB中&#xff0c;有一个xxl-job-admin项目&#xff0c;这个就相当于定时任务的调度平台&#xff0c;我们参考XXL-JOB&#xff0c;也添加这么一个调度平台&#xff0c;由于篇幅有限&#xff0c;我们先实现一个本地的定时任务调度平台&#xff0c;至于如何调用远程的…

蓝桥杯备战13.赦免战俘

P5461 赦免战俘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; #define endl \n //#define int long long const int N 2e510; int n,p1,a[1050][1050]; void di(int x,int l,int q)//x是正方形边长&#xff0c;l、q是正方…

算法练习day8

反转字符串 代码随想录 0344.反转字符串 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; &#xff08;用时&#xff1a;0.05小时&#xff09; 思路 这道题很简单也很经典。 字符串的反转方法有很多&#xff0c;我这里是用for循环通过数组长度和下标计算来交换。…

【小积累】@Qualifier注解

今天在看rabbitMQ的时候需要绑定交换机和队列&#xff0c;交换机和队列都已经注入到spring容器中&#xff0c;写了一个配置类&#xff0c;使用了bean注解注入的。所以这时候绑定的时候需要使用容器中的交换机和队列&#xff0c;必须要使用Qualifier去确定是容器中的哪个bean对象…

vue2 v-model 绑定不同的表单元素,绑定不同表单元素的属性

输入框 input:text --> value文本域 textarea --> value复选框 input:checkbox --> checked单选框 input:radio --> checked下拉菜单 select–> value 1、绑定输入框 input typetext / password / number <!--绑定的是 typetext / password 的 value值 --…

【Unity Shader入门精要 第7章】基础纹理补充内容:MipMap原理

1.纹理采样 我们对纹理采样进行显示的过程&#xff0c;可以理解为将屏幕上的一个像素&#xff08;下文用像素表示&#xff09;映射到纹理上的一个像素&#xff08;下文用纹素表示&#xff09;&#xff0c;然后用纹理上的这个像素的颜色进行显示。 理想情况下&#xff0c;屏幕…

Optional用法

说明&#xff1a;Optional和Stream一样&#xff0c;是Java8引入的特性&#xff0c;本文介绍Optional的几个实际用法。Steam流使用&#xff0c;参考下面这篇文章&#xff1a; Stream流使用 使用 1.保证值存在 // 1.保证值存在&#xff0c;pageNumber&#xff0c;pageSizeInte…

HTTP基础概念和HTTP缓存技术

什么是HTTP HTTP是超文本传输协议&#xff0c;主要分为三个部分&#xff1a;超文本、传输、协议。 超文本是指&#xff1a;文字、图片、视频的混合体。传输是指&#xff1a;点与点之间的信息通信。协议是指&#xff1a;通信时的行为规范或约定 HTTP常见字段 字段名 解释 例…

【代码随想录37期】Day07四数相加Ⅱ、赎金信、三数之和、四数之和

四数相加Ⅱ 代码随想录 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; v1.0:直接超时&#xff0c;完全可以把0 - nums1[i]-nums2[j]作为一组&#xff0c;避免了三重循环&#xff01; class Solution { public:int fourSumCount(vector<int>& nums1, v…

收集垃圾的最少总时间- (LeetCode)

题目 给你一个下标从 0 开始的字符串数组 garbage &#xff0c;其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 M &#xff0c;P 和 G &#xff0c;但可能包含多个相同字符&#xff0c;每个字符分别表示一单位的金属、纸和玻璃。垃圾车收拾 一 单位的任何…

SpringJPA审计

1.实体类 package com.tiger.jpatest.entity;import jakarta.persistence.*; import lombok.Data; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifi…