论文部分内容阅读
摘 要:在资源越来越丰富的校园网上高效地搜索信息,Web搜索引擎服务是必不可少的。本文介绍了搜索引擎的一般架构体系和Lucene——一款使用Java语言编写的全文搜索引擎开发工具包;然后结合MVC框架和JSP Servlet JavaBean技术将Lucene引入具体实践,实现并提供了一个校园网信息搜索平台。
关键词:搜索引擎 Lucene Web搜索
中图分类号:TP393.18文献标识码:B 文章编号:1673-8454(2008)15-0031-02
目前,我校校园网站建设已具备一定的规模和水准,网上资源也越来越丰富,在校师生都需要在校园网上查找一些于己有用的信息。但是根据校园网自身的特点而言,校园网网页间链接稀疏,大部分网站由各院系的网站管理员各自进行维护。[1] 这样导致资源都散落在各个应用系统和服务器上,很多资源没有得到有效的整理和利用,一方面,需要获取资源的人员没有办法搜寻到必要的文件;另一方面,则是大量的资源无法被利用,导致工作效率低下。据此,笔者想在我校校园网上也引入搜索引擎,但是如果将商业搜索引擎直接拿来,又难以得到令用户满意的搜索结果。本文在研究分析搜索引擎架构体系和Lucene的运作机制的基础上,设计并实现了一个基于Lucene的校园网Web搜索引擎。
一、系统架构
三、系统实现
下面介绍一个采用Lucene全文检索技术实现的校园网站内搜索引擎实例,系统的主要功能是用户通过Web界面接口提交查询词来查询校园网内的资源。
1.系统设计要求
一个校园网站的搜索引擎应该满足下列要求[5]:(1)以校园网为搜索目标,用户可以通过该系统检索校园网站上所有静态网页的内容和大多数动态网页的内容,提供基于Web的查询接口;(2)具有较高的查询准确率和较快的响应速度。
2.系统设计与实现
在此,我们将Web 搜索引擎的架构分为前端和后端两部分,如图2所示。在前端流程中,用户在搜索引擎提供的界面中输入要搜索的关键词,这里提到的用户界面是一个带有输入框的 Web 页面,然后应用程序将搜索的关键词解析成搜索引擎可以理解的形式,并在索引文件上进行搜索操作。[6] 在排序后,搜索引擎返回搜索结果给用户。在后端流程中,网络爬虫或者机器人从因特网上获取 Web 页面,然后索引子系统解析索引这些 Web 页面并存入索引文件中。
以下给出系统实现后的前台用户界面,如图3所示。
根据系统分析设计,主要通过以下几个步骤来实现上面的功能:(1)由爬虫OneSpider在校园网上抓取网页内容并将其存放至文件服务器;(2)建立索引库:就是将待索引的html文件内容经过切分词后索引入库,检索时如果索引不存在或者文档集合已被更新,那么就是要为html文件建立索引或更新索引;(3)检索索引库,即根据查询条件从索引库中找出符合条件的文档;(4)显示检索结果,将检索结果经过处理后显示给用户,此过程中,我们采用“动态摘要”方式,即在响应查询的时候,根据查询词在文档中的位置,提取出周围的文字来,在显示时将查询词标亮。[7]
四、总结和展望
本文介绍了基于校园网的搜索引擎的结构框架研究和实现,并把基于Lucene的搜索引擎技术嵌入到实际应用架构中。同时将Lucene这一工具包添加到应用中开发一个基于校园网的搜索引擎系统,将会推动校园Web应用的进一步发展,并为各种基于搜索引擎技术的教学、课题研究等提供一个良好的实验平台。
参考文献:
[1]胡骏,李星.校园网信息资源搜索引擎的研究与实现[J].计算机工程与设计,2006,27(24):4629—4634.
[2]Sergey Brin, Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine[EB/OL].Computer Networks and ISDN Systems,1998.
[3]Otis Gospodnetic, Erik Hatcher. Lucene In Action (中文版)[M].北京:电子工业出版社,2007.
[4]张新曼.JSP—Web开发技术与典型应用[M].北京:人民邮电出版社,2007:85-97.
[5]管建和,甘剑峰.基于Lucene全文检索引擎的应用研究与实现[J].计算机工程与设计,2007,28(2):489-491.
[6]周登朋.用Lucene加速Web搜索应用程序的开发[EB/OL]. http://www-128.ibm.com/developerworks/cn/web/wa-lucene2/
[7]李晓明,闫宏飞,王继民.搜索引擎——原理、技术与系统[M].北京:科学出版社,2005:26-27.
关键词:搜索引擎 Lucene Web搜索
中图分类号:TP393.18文献标识码:B 文章编号:1673-8454(2008)15-0031-02
目前,我校校园网站建设已具备一定的规模和水准,网上资源也越来越丰富,在校师生都需要在校园网上查找一些于己有用的信息。但是根据校园网自身的特点而言,校园网网页间链接稀疏,大部分网站由各院系的网站管理员各自进行维护。[1] 这样导致资源都散落在各个应用系统和服务器上,很多资源没有得到有效的整理和利用,一方面,需要获取资源的人员没有办法搜寻到必要的文件;另一方面,则是大量的资源无法被利用,导致工作效率低下。据此,笔者想在我校校园网上也引入搜索引擎,但是如果将商业搜索引擎直接拿来,又难以得到令用户满意的搜索结果。本文在研究分析搜索引擎架构体系和Lucene的运作机制的基础上,设计并实现了一个基于Lucene的校园网Web搜索引擎。
一、系统架构
三、系统实现
下面介绍一个采用Lucene全文检索技术实现的校园网站内搜索引擎实例,系统的主要功能是用户通过Web界面接口提交查询词来查询校园网内的资源。
1.系统设计要求
一个校园网站的搜索引擎应该满足下列要求[5]:(1)以校园网为搜索目标,用户可以通过该系统检索校园网站上所有静态网页的内容和大多数动态网页的内容,提供基于Web的查询接口;(2)具有较高的查询准确率和较快的响应速度。
2.系统设计与实现
在此,我们将Web 搜索引擎的架构分为前端和后端两部分,如图2所示。在前端流程中,用户在搜索引擎提供的界面中输入要搜索的关键词,这里提到的用户界面是一个带有输入框的 Web 页面,然后应用程序将搜索的关键词解析成搜索引擎可以理解的形式,并在索引文件上进行搜索操作。[6] 在排序后,搜索引擎返回搜索结果给用户。在后端流程中,网络爬虫或者机器人从因特网上获取 Web 页面,然后索引子系统解析索引这些 Web 页面并存入索引文件中。
以下给出系统实现后的前台用户界面,如图3所示。
根据系统分析设计,主要通过以下几个步骤来实现上面的功能:(1)由爬虫OneSpider在校园网上抓取网页内容并将其存放至文件服务器;(2)建立索引库:就是将待索引的html文件内容经过切分词后索引入库,检索时如果索引不存在或者文档集合已被更新,那么就是要为html文件建立索引或更新索引;(3)检索索引库,即根据查询条件从索引库中找出符合条件的文档;(4)显示检索结果,将检索结果经过处理后显示给用户,此过程中,我们采用“动态摘要”方式,即在响应查询的时候,根据查询词在文档中的位置,提取出周围的文字来,在显示时将查询词标亮。[7]
四、总结和展望
本文介绍了基于校园网的搜索引擎的结构框架研究和实现,并把基于Lucene的搜索引擎技术嵌入到实际应用架构中。同时将Lucene这一工具包添加到应用中开发一个基于校园网的搜索引擎系统,将会推动校园Web应用的进一步发展,并为各种基于搜索引擎技术的教学、课题研究等提供一个良好的实验平台。
参考文献:
[1]胡骏,李星.校园网信息资源搜索引擎的研究与实现[J].计算机工程与设计,2006,27(24):4629—4634.
[2]Sergey Brin, Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine[EB/OL].Computer Networks and ISDN Systems,1998.
[3]Otis Gospodnetic, Erik Hatcher. Lucene In Action (中文版)[M].北京:电子工业出版社,2007.
[4]张新曼.JSP—Web开发技术与典型应用[M].北京:人民邮电出版社,2007:85-97.
[5]管建和,甘剑峰.基于Lucene全文检索引擎的应用研究与实现[J].计算机工程与设计,2007,28(2):489-491.
[6]周登朋.用Lucene加速Web搜索应用程序的开发[EB/OL]. http://www-128.ibm.com/developerworks/cn/web/wa-lucene2/
[7]李晓明,闫宏飞,王继民.搜索引擎——原理、技术与系统[M].北京:科学出版社,2005:26-27.