计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> ASP.NET论文设计 >> 浏览文章
基于Ajax+Lucene构建搜索引擎的设计和实现

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

基于Ajax+Lucene构建搜索引擎的设计与实现

 

通过搜索引擎从互联网上获取有用信息已经成为人们生活的重要组成部分,Lucene是构建搜索引擎的其中一种方式。搜索引擎系统是在.Net平台上用C#开发的,数据库是MSSQL Server 2000。主要完成的功能有:用爬虫抓取网页;获取有效信息放入数据库;通过Lucene建立索引;对简单关键字进行搜索;使用Ajax的局部刷新页面展示结果。

论文详细说明了系统开发的背景,开发环境,系统的需求分析,以及功能的设计与实现。同时讲述了搜索引擎的原理,系统功能,并探讨使用Ajax与服务器进行数据异步交互,从而改善现有的Web应用模式。

关键词Lucene.net异步更新Ajax;搜索引擎目  录
论文总页数:19页
 
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 本课题研究的意义 1
1.4 本课题的研究方法 1
2 Lucene.net构建搜索引擎原理 2
2.1 全文搜索引擎 2
2.1.1 搜索引擎的分类 2
2.1.2 搜索引擎的工作原理 2
2.2 LUCENE与搜索引擎 3
2.3 索引和搜索 4
2.4 AJAX技术 4
3 需求分析 5
3.1 同步环境 5
3.2功能需求 6
3.3 性能需求 6
3.4 输入输出要求 7
3.5 运行需求 7
4 方案设计 7
4.1 搜索引擎模型 7
4.2 数据库的设计 7
4.3 模块设计 8
5 系统实现 10
5.1 开发环境 10
5.2 关键代码详解 10
5.2.1 代码结构 10
5.2.2 爬虫部分 11
5.2.3索引生成 12
5.2.4页面查询 13
6 测试 14
6.1 功能测试 14
结    论 16
参考文献 17
致    谢 18
声    明 19

1.1 课题背景

Lucene是一个基于Java的全文信息检索工具包,它为应用程序提供索引和搜索功能。Lucene目前是Apache Jakarta家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。LuceneJava世界中常用的索引API,使用它提供的方法可以为文本资料创建索引,并提供检索。Lucene.net它只在命名方面采纳了.Net的建议,主要目标倾向于和Java Lucene兼容:一个是索引格式兼容,达到可以共同工作的目的;一个是命名接近(只相差很少,比如大小写等),目的是可以方便开发者使用Java Lucene相关的代码和资料。

1.2 国内外研究现状

国内外对搜索引擎研究比较著名的便是Google了。无论搜索技术本身还是搜索范围与深度,Google搜索总是所有搜索引擎的目标。Google专业领域搜索方面做的成效是有目共睹的。Google在低层次的智能搜索方面已经开始研究很多年了,实际的成果就是翻译方面。利用搜索技术,加上经验主义发展出来的Google翻译机器人,在外语翻译方面已经比传统的翻译好很多了。但是翻译仅仅是学术方面的应用,更重要的是Google建立起来的海量搜索历史记录。如果把这些海量搜索历史记录当作是词典的话,那么如果与搜索技术的结合发展成为低层次的只能搜索,那么应用就将大大加强与广泛。

国内,对搜索引擎的专注和对中文的理解能力也是中国本土搜索引擎行业独特的竞争力。国内比较著名的比如百度,更专注对中文的处理。中文的意思多种多样,是很难用程序处理的。目前国内外都在做中文引擎,门户网站、非门户网站也都在进军搜索业,成立搜索门户。为了满足用户更深层次的需求,国内的搜索引擎也在不断的完善自己。如何将人类的知识和智能加入到检索中,如何使搜索引擎的质量产生一个质的飞跃,也是国内搜索引擎努力的方向。中国网民对智能化搜索需求也是显而易见的。这也意味着搜索不再是简单的技术或者是网络导航而已,而是会成为普通人生活中必备的工具之一。

1.3 本课题研究的意义

随着计算机技术和互联网技术的飞速发展,网络上的信息量急剧增长,要在浩如烟海的网络世界中寻找需要的信息,作为现代信息获取技术的主要应用,那么搜索引擎是必不可少的。通过Lucene.net,可以很方便的构建起搜索引擎,本毕业设计除了考查使学生综合运用以前所学知识的能力,同时也使学生了解当今搜索及编程的一些新技术,并模拟简单的搜索引擎开发。

1.4 本课题的研究方法

在本系统的开发过程中,首先分析了搜索引擎的相关功能,写出需求分析;其次,综合运用以前所学的相关知识(数据库,C#等),选择所熟悉的开发工具进行开发(本系统选择了Microsoft Visual Studio .NET 2003作为开发平台,开发语言选择了C#;数据库采用Microsoft SQL Server 2000)。由于Lucene不是完整的搜索引擎程序,只为搜索引擎应用提供了工具包,在Asp.net平台中,可使用Lucene.net这个对Lucene兼容的库。使用Lucene.net协助完成搜索引擎相关的网页爬虫与抓取,为文档建立索引,关键词搜索的功能,通过Ajax优化系统,完成页面的局部刷新功能,给用户好的体验。

2 Lucene.net构建搜索引擎原理

2.1 全文搜索引擎

2.1.1 搜索引擎的分类

获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度排列。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索和分类目录。

全文搜索引擎通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。从搜索来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果。

分类目录则是通过人工的方式收集整理网站资料形成数据库的,比如雅虎中国以及国内的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原始的分类目录。

2.1.2 搜索引擎的工作原理

搜索引擎的原理,可以看作三步:从互联网上抓取网页,建立索引数据库,在索引数据库中搜索。

全文搜索引擎的 “网络蜘蛛”能够扫描一定地址范围内的网站,并沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站采集网页资料。它为保证采集的资料最新,还会回访已抓取过的网页。网络机器人或网络蜘蛛采集的网页,还要有其它程序进行分析,根据一定的相关度算法进行大量的计算建立网页索引,才能添加到索引数据库中。我们平时看到的全文搜索引擎,实际上只是一个搜索引擎系统的检索界面,当你输入关键词进行查询时,搜索引擎会从庞大的数据库中找到符合该关键词的所有相关网页的索引,并按一定规则呈现给我们。不同的搜索引擎,网页索引数据库不同,搜索结果也就不尽相同。

利用能够从互联网上自动收集网页的Spider程序,自动访问互联网,并沿着网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。然后建立索引数据库,由分析索引程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),然后用这些相关信息建立网页索引数据库。接下来在索引数据库中搜索排序,当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。搜索引擎只能搜到它网页索引数据库里储存的内容。

2.2 Lucene与搜索引擎

Lucene是一个全文信息检索工具包,为应用程序提供索引和搜索功能。和Java Lucene兼容的Lucene.net可以用在.net平台。Lucene能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lucene就能对你的文档进行索引和搜索。比如你要对一些HTML文档,PDF文档进行索引的话你就首先需要把HTML文档和PDF文档转化成文本格式的,然后将转化后的内容交给Lucene进行索引,然后把创建好的索引文件保存到磁盘或者内存中,最后根据用户输入的查询条件在索引文件上进行查询。不规定要索引的文档的格式也使Lucene能够适用于几乎所有的搜索应用程序。



上一篇: 基于Apriori算法的关联规则挖掘系统的设计与实现
下一篇: 基于.NET技术的猎头公司管理软件的设计与实现——外部事务部分
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。