基于Lucene校园网Web搜索服务研究与实现.docVIP

基于Lucene校园网Web搜索服务研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Lucene校园网Web搜索服务研究与实现

基于Lucene校园网Web搜索服务研究与实现   摘 要:在资源越来越丰富的校园网上高效地搜索信息,Web搜索引擎服务是必不可少的。本文介绍了搜索引擎的一般架构体系和Lucene――一款使用Java语言编写的全文搜索引擎开发工具包;然后结合MVC框架和JSP+Servlet+JavaBean技术将Lucene引入具体实践,实现并提供了一个校园网信息搜索平台。   关键词:搜索引擎 Lucene Web搜索   中图分类号:TP393.18文献标识码:B 文章编号:1673-8454(2008)15-0031-02      目前,我校校园网站建设已具备一定的规模和水准,网上资源也越来越丰富,在校师生都需要在校园网上查找一些于己有用的信息。但是根据校园网自身的特点而言,校园网网页间链接稀疏,大部分网站由各院系的网站管理员各自进行维护。[1] 这样导致资源都散落在各个应用系统和服务器上,很多资源没有得到有效的整理和利用,一方面,需要获取资源的人员没有办法搜寻到必要的文件;另一方面,则是大量的资源无法被利用,导致工作效率低下。据此,笔者想在我校校园网上也引入搜索引擎,但是如果将商业搜索引擎直接拿来,又难以得到令用户满意的搜索结果。本文在研究分析搜索引擎架构体系和Lucene的运作机制的基础上,设计并实现了一个基于Lucene的校园网Web搜索引擎。      一、系统架构         架构问题是实现一个系统首先要考虑的问题。搜索引擎的架构按照功能模块可分为:爬虫、存储、索引、排序算法和Web服务。[2] 其中,爬虫负责获取目标网站的内容,通过维护一张URL列表,并按照不重复的原则周期性地进行工作;存储则是需要把经过过滤的内容存储到本地,比如声音、视频、图片等;然后对存储下来的内容进行批量索引,最终所有的索引内容需要合并到同一个索引中;那么有了一个建好的倒排索引,配合后台的查询语句,就可以开始提供Web服务了,对于被检索的关键词,根据网页权重再结合内容的匹配程度,将结果呈现出来。对于用户来说,整个过程是透明的,只需要一个输入就可以得到所有可能的结果。      二、关键技术      1.Lucene简介   Lucene是Apache软件基金会Jakarta项目组的一个子项目,是一个纯Java实现的高性能、可扩展的开放源代码的Java全文检索引擎工具包,即它不是一个完整的全文检索引擎,并不具备搜索应用程序的完整特征,只是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene把复杂的索引和搜索操作的实现过程隐藏在一组简单易用的API之后,可以方便地嵌入到各种应用中,实现针对应用的索引/检索功能。[3] 表1列出了Lucene的7个基本程序包。   2.MVC设计模式   MVC是一种设计模式。MVC框架即是模型-视图-控制器(Model-View-Controller)设计模式。[4] 其中,M代表Model,V代表View,C代表Controller。MVC的核心思想是将一个应用程序的数据业务处理功能(模型)、表示功能(视图)和控制功能(控制层)在3个不同部分(也叫层)上分别实现。MVC框架主要由以下3个部分组成,其关系如图1所示。   视图:视图是应用程序的表示层,代表用户交互界面,只负责对视图上数据的采集和处理,以及对用户请求的处理,但并不涉及业务流程的处理。   模型:模型是应用程序的业务处理层,负责所有业务流程的处理和业务规则的指定。模型处理由控制器转发来的视图的请求数据,并将最终的处理结果返回给视图。   控制器:控制器的作用实际上就是一个分发器。负责决定将请求数据转发给什么样的模型组件,以及决定选择什么样的视图来显示模型返回的数据,并不处理任何业务信息。         三、系统实现      下面介绍一个采用Lucene全文检索技术实现的校园网站内搜索引擎实例,系统的主要功能是用户通过Web界面接口提交查询词来查询校园网内的资源。   1.系统设计要求   一个校园网站的搜索引擎应该满足下列要求[5]:(1)以校园网为搜索目标,用户可以通过该系统检索校园网站上所有静态网页的内容和大多数动态网页的内容,提供基于Web的查询接口;(2)具有较高的查询准确率和较快的响应速度。   2.系统设计与实现   在此,我们将Web 搜索引擎的架构分为前端和后端两部分,如图2所示。在前端流程中,用户在搜索引擎提供的界面中输入要搜索的关键词,这里提到的用户界面是一个带有输入框的 Web 页面,然后应用程序将搜索的关键词解析成搜索引擎可以理解的形式,并在索引文件上进行搜索操作。[6] 在排序后,搜索引擎返回搜索结果给用户。在后端流程中,网络爬虫或者机器人从因特

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档