摘 要
通过搜索引擎从互联网上获取有用信息已经成为人们生活的重要组成部分,Lucene是构建搜索引擎的其中一种方式。搜索引擎系统是在.Net平台上用C#开发的,数据库是MSSQL Server 2000。主要完成的功能有:用爬虫抓取网页;获取有效信息放入数据库;通过Lucene建立索引;对简单关键字进行搜索;使用Ajax的局部刷新页面展示结果。
论文详细说明了系统开发的背景,开发环境,系统的需求分析,以及功能的设计与实现。同时讲述了搜索引擎的原理,系统功能,并探讨使用Ajax与服务器进行数据异步交互,从而改善现有的Web应用模式。
关键词:Lucene.net;异步更新;Ajax;搜索引擎
The Design and Implementation for Constructing the Search Engine with Ajax and Lucenehttp://www.16sheji8.cn/
Abstract
Obtaining useful information from web by search engines has become the important part of people's lives. Lucene is the way of constructing search engine. This system is based on the .Net platform using C#. The database is MSSQL Server 2000. Main functions are grasping web pages with crawls, adding effective information to the database, establishing index with Lucene, searching through keywords, and displaying the results finally.http://www.16sheji8.cn/
This paper has showed the principle of search engine in the form of different modules, functions of this system, improving traditional web application model using Ajax. It shows explanation of the system’s background, development environment, system analysis of demanding, and functions of design.
Key words: Lucene.net; Asynchronous update; Ajax; Search engines
目 录
论文总页数: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 需求分析 5http://www.16sheji8.cn/
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索引生成 12http://www.16sheji8.cn/
5.2.4页面查询 13
6 测试 14
6.1 功能测试 14
结 论 16
参考文献 17
致 谢 18
声 明 19
1 引言
1.1 课题背景
Lucene是一个基于Java的全文信息检索工具包,它为应用程序提供索引和搜索功能。Lucene目前是Apache Jakarta家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。Lucene是Java世界中常用的索引API,使用它提供的方法可以为文本资料创建索引,并提供检索。Lucene.net它只在命名方面采纳了.Net的建议,主要目标倾向于和Java Lucene兼容:一个是索引格式兼容,达到可以共同工作的目的;一个是命名接近(只相差很少,比如大小写等),目的是可以方便开发者使用Java Lucene相关的代码和资料。http://www.16sheji8.cn/
1.2 国内外研究现状
国内外对搜索引擎研究比较著名的便是Google了。无论搜索技术本身还是搜索范围与深度,Google搜索总是所有搜索引擎的目标。Google专业领域搜索方面做的成效是有目共睹的。Google在低层次的智能搜索方面已经开始研究很多年了,实际的成果就是翻译方面。利用搜索技术,加上经验主义发展出来的Google翻译机器人,在外语翻译方面已经比传统的翻译好很多了。但是翻译仅仅是学术方面的应用,更重要的是Google建立起来的海量搜索历史记录。如果把这些海量搜索历史记录当作是词典的话,那么如果与搜索技术的结合发展成为低层次的只能搜索,那么应用就将大大加强与广泛。http://www.16sheji8.cn/
国内,对搜索引擎的专注和对中文的理解能力也是中国本土搜索引擎行业独特的竞争力。国内比较著名的比如百度,更专注对中文的处理。中文的意思多种多样,是很难用程序处理的。目前国内外都在做中文引擎,门户网站、非门户网站也都在进军搜索业,成立搜索门户。为了满足用户更深层次的需求,国内的搜索引擎也在不断的完善自己。如何将人类的知识和智能加入到检索中,如何使搜索引擎的质量产生一个质的飞跃,也是国内搜索引擎努力的方向。中国网民对智能化搜索需求也是显而易见的。这也意味着搜索不再是简单的技术或者是网络导航而已,而是会成为普通人生活中必备的工具之一。
1.3 本课题研究的意义
随着计算机技术和互联网技术的飞速发展,网络上的信息量急剧增长,要在浩如烟海的网络世界中寻找需要的信息,作为现代信息获取技术的主要应用,那么搜索引擎是必不可少的。通过Lucene.net,可以很方便的构建起搜索引擎,本毕业设计除了考查使学生综合运用以前所学知识的能力,同时也使学生了解当今搜索及编程的一些新技术,并模拟简单的搜索引擎开发。