基于Web的搜索引擎检索系统(Java+Lucene+SqlServer)
目 录
目 录 IV
1 绪论 1
1.1 项目背景 1
1.2 国内外发展现状及分类 2
1.3 本论文组织结构介绍 3
2 相关技术介绍 5
2.1什么是搜索引擎 5
2.2 sqlserver数据库 6
2.3 Tomcat服务器 7
3 搜索引擎的基本原理 8
3.1搜索引擎的基本组成及其功能 8
3.2搜索引擎的详细工作流程 11
4 系统分析与设计 14
4.1系统分析 14
4.2系统概要设计 14
4.2系统实现目标 15
5 系统详细实现 16
5.1实现环境配置 16
5.2功能实现 16
5.2.1 建立索引 16
5.2.2 文件搜索实现 18
5.2.3 数据库的连接配置 20
5.2.4 数据库搜索实现 20
5.2.5 后台数据编辑实现 22
6 系统测试 24
6.1测试重要性 24
6.2测试用例 25
结 论 27
参 考 文 献 28
致 谢 29
3 搜索引擎的基本原理
3.1搜索引擎的基本组成及其功能
图3-1 搜索引擎的基本组成
由上图可知,搜索引擎程序可以化分为搜索器子程序、索引器子程序、检索器子程序以及用户接口子程序等模块;存储器以及存储桶是用来存储所检索到的各种资源的。
搜索引擎程序的组成结构具体如下:
l.搜索器 (Crawler)
搜索器,顾名思义,就是用于在互联网中探索、寻找信息,最终的目的是为了把信息存储在存储单元中的。这种计算机程序,需要日夜不停地处于运行的状态,为的是可以尽可能的更快地搜集更多的新信息,这些信息的种类是多种多样的,包括有HTML格式、XML格式、字处理文档格式以及多媒体信息等等,此外搜索引擎还需要定期更新存储器里的信息。
4 系统分析与设计
4.1系统分析
经过对搜索引擎的研究同时与Lucene自身的特性相结合,将本次设计所需要实现的功能阐述如下:
支持桌面文件搜索,格式包括txt、doc、xls和ppt;
支持分词查询
支持全文搜索
能够高亮显示搜索关键字
显示查询所用的时间
显示搜索历史、过滤关键字
分词查询与全文搜索这两项功能,我们都可以利用Lucene本身自带的库加上相关算法就可以完成设计了,为了使得关键字的高亮度这一问题得到解决,显然,我们需要利用Highlighter的辅助,通过数据库持久化保存数据。
4.2系统概要设计
在我们进行需求分析的时候,制定的用例以及领域模型都可以直接的带入到设计阶段,我们粗略设计的搜索引擎系统的构架如下:
图4-1 系统总体架构
4.2系统实现目标
希望实现一个可用于海量信息快速搜索的个性化引擎,它应该具有快速、便捷和精确等特性,并且能够一目了然而看到搜索耗时,关键字高亮度显示等等个性化效果。实现时希望不需要高配置的硬件资源以及复杂的环境配置或搭建,幸运的是开源Lucene库给我们提供了可能。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>基于Lucene的搜索引擎的研究与实现</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><link rel="stylesheet" href="PublicStyle.css" type="text/css"></link></head><body><center><div><input type="button" onClick="javascript:location.href='index.jsp'" class="btnClass_100px_A" value="文件搜索" /> <input type="button" onClick="javascript:location.href='index2.jsp'" class="btnClass_100px_A" value="数据搜索" /></div></center></body>
</html>
基于Web的搜索引擎检索系统(Java+Lucene+SqlServer)相关推荐
- 基于java的网上花店销售系统_基于web的花店销售系统的设计与实现
基于web的花店销售系统的设计与实现(论文13000字) 摘要:本系统是一个相对简单的基本应用系统,主要满足传统的花店运营需要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现. ...
- 基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA基于Web的上门家教系统的设计与实现计算机毕业设计源码+系统+mysql数据库+ ...
- java点餐系统实验报告_JAVA课程实践报告 基于web的点餐系统毕业设计.doc
JAVA课程实践报告 基于web的点餐系统毕业设计 大连理工大学城市学院 JAVA课程实践报告 题目:基于web点餐系统 学院:计算机工程学院 班级:07软日3班 指导教师: 杨俊生 学生姓名:李杰伟 ...
- SSM毕设项目基于web的在线订餐系统sbh8k(java+VUE+Mybatis+Maven+Mysql)
SSM毕设项目基于web的在线订餐系统sbh8k(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuil ...
- java计算机毕业设计基于Web的上门家教系统的设计与实现源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计基于Web的上门家教系统的设计与实现源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于Web的上门家教系统的设计与实现源程序+mysql+系统+lw文档+远 ...
- springboot基于web的摩托车销售系统的设计与实现毕业设计源码031706
基于web的摩托车销售系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难 ...
- 【项目精选】基于Web的机票预订系统
文章目录 1 摘 要 2 系统相关技术概述 2.1 Java web 2.2 三大框架SSM 2.3 前端框架AngularJS 2.4 数据库MySQL 2.5 数据库Redis 2.6 开发工具E ...
- 基于web的摩托车销售系统的设计与实现 毕业设计-附源码031706
基于web的摩托车销售系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难 ...
- (附源码)计算机毕业设计SSM基于web的网上订餐系统
(附源码)计算机毕业设计SSM基于web的网上订餐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(I ...
最新文章
- Android 入门开发
- 移动master 数据库
- 【学习笔记】C#中的单元测试
- java swing 传值_java swing 窗体之间怎么传值?
- iframe嵌套页面 跨域_跨域解决方案
- 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头
- Hadoop精华问答:Hadoop框架最核心的设计是?
- asp.net 安装element ui_Vue+Element环境搭建
- 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
- JD_Source Code for problem 1581
- Black-Scholes期权定价公式
- 怎样锁定计算机本地磁盘,win7系统本地磁盘加密的操作方法
- 使用PE镜像修改VMware中Windows镜像的方法
- Docker篇之镜像打标签tag
- asp.net(c#)中IsPostBack是什么意思
- css,sass,scss和less的区别
- HTTP Referer简介
- 非计算机专业全国壹级,非计算机专业专科学生全国计算机一级等级考试应试策略...
- java马士兵网络编程_学习笔记-马士兵java - 网络编程
- Linux命令解读(一):head -n 80 /dev/urandom | tr -dc A-Za-z0-9 | head -c 22