基于java的搜索引擎的设计与实现

基于java的搜索引擎的设计与实现

ID:21088905

大小:58.00 KB

页数:10页

时间:2018-10-19

基于java的搜索引擎的设计与实现_第1页
基于java的搜索引擎的设计与实现_第2页
基于java的搜索引擎的设计与实现_第3页
基于java的搜索引擎的设计与实现_第4页
基于java的搜索引擎的设计与实现_第5页
资源描述:

《基于java的搜索引擎的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于JAVA的搜索引擎的设计与实现摘要:在浩瀚无边的网络资源中,特别是院校等自建网站的大型单位中,信息检索是一件很困难的工作,而建立搜索引擎显得尤为重要。文章阐述在广域网或局域网下建立信息检索的技术描述,从四个方面进行系统分析。为了使大家加深对信息检索的理解,从原理上解释从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条结果进行建立索引。然后通过Web服务器接受客户端请求后,将关键字用ICTCLAS.dll中文切词工具进行切割,将关键字列表在索引中搜索出所匹配的结果,并将其显示给客户。此外,还利用Ajax等一些技术增加了

2、一些自动提示的效果,使得搜索界面更加人性化。关键词:搜索引擎;网络蜘蛛;Lucene;中文切词引言面对浩瀚的网络资源,各区间之间达到资源共享,为尽快达到用户索取资源的目的性而建立搜索引擎,毫不夸张的说所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。伴随着网络的发展,搜索引擎主要经历了三个发展时期。从1994年初始,在“求全”的基础上开展应用,反应速率较慢。从1966年出现分布式方案,采取机器抓取技术,大大提高了检索速度。在2000年左右,在改进二代技术基础上,增加了互动性和个性化,采用自动分类、自动聚类、区域智能识别等技术

3、,成为当今主流搜索引擎技术,提高用户应用效率。1搜索引擎的结构1.1搜索引擎系统概述搜索引擎是根据用户的查询请求,按照一定算法从索引数据中查找信息返回给用户。为了保证用户查找信息的精度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络机器人程序、索引与搜索程序、索引数据库等部分组成。网络机器人程序建立Lucene索引从SQL中搜索信息Tomcat服务器Lucene索引数据库浏览器」SP网络机器人程序、文档网络、机器人程序,建立Lucene索引从SQL中搜索信息Tomcat服务器Lucene索引数据库浏览的机器

4、人程序系统结构图。1.2搜索引擎的构成搜索引擎的工作原理主要指输入一定规则,在相应的数据中抓取存储,进行预处理,组织排名调用索引库数据获取信息。1.2.1网络蜘蛛网络蜘蛛也称为“网络机器人”(Spider),用Myeclipse、MysqL开发,采用Spring+Struts+Hibernate框架构成的系统。1.2.2索引与搜索采用索引技术,采用NON-CLUSTERED方法,生成关键词到URL,并以特定数据结构存储在方式。高度注意提高信息查询的精度,利用信息机制进行过滤和个性化服务,采用分布式结构来提高系统规模和性能返回用户的方

5、式。1.2.3Web服务器Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信,采取超文本连接的概念,利用Blog、Rss、Psdcasting、SNS、WIKI、PageRank等技术任,使资源比较直观的表现出来。1.3搜索引擎的主要指标及分析搜索引擎的主要指标有响应时间、召回率、准确率、相关度等。这些指标决定了搜索引擎的技术指标,搜索引擎的技术指标决定了搜索引擎的评价标准。具有较快的反应速度和高召回率、准确率是衡量搜索引擎的重要指标,而实现此功能是需要搜索引擎技术指标来保障的。2网络机器人2.1网络机器人概念网络机

6、器人称Spider程序,是专业Bot程序的一'种,用于查找大量的Web页面。2.2网络机器人的结构分析Internet内存有很多协议,系统层中的协议较为复杂。网页是建立在系统层基于HTTP(HypertextTransferProtocol)协议基础上的,而TCP/IP(TransmissionControlProtocol/lnternetProtocol)是HTTP的基础协议,因此网络机器人就是一种Socket协议。2.2.1网络机器程序结构Spider在不同网页之间跳转,必须找到一个关键点,也就是页面上的超连接。网页代码由网络

7、机器人解析,分解页面内的超连接,通过内部递归结构和非递归结构这两种结构实现Spider程序。URL在同一时间只能在一个队列内,这种状态称为URL状态。图1表示URL队列工作流程,Spider在URL被加入等待队列中程序被激活运行,Spider程序会按指定方式排序分析网页中URL,直到无列队时工作停止。2.2.2Spider程序构造只有了解Spider程序工作原理及功能扩展,才能构建出高效的Spider程序。Spider类:这是一个实现了Runnable的类,以便实现多线程提高性能。此外Spider还实现了Constants,Cons

8、tants接口实际上是一个定义常量的地方,它定义了一些与线程处理有关的常量。工作流程图如图2所示:2.2.3提升程序性能。Web页面资源在互联网中十分丰富,提高Spider程序的效能成为最迫切的需求,就如何提高程序有效性介绍几种技术:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。