基于Ajax+Lucene构建搜索引擎设计
关键词:Lucene.net;异步更新;Ajax;搜索引擎
摘 要
通过搜索引擎从互联网上获取有用信息已经成为人们生活的重要组成部分,Lucene是构建搜索引擎的其中一种方式。搜索引擎系统是在.Net平台上用C#开发的,数据库是MSSQL Server 2000。主要完成的功能有:用爬虫抓取网页;获取有效信息放入数据库;通过Lucene建立索引;对简单关键字进行搜索;使用Ajax的局部刷新页面展示结果。
论文详细说明了系统开发的背景,开发环境,系统的需求分析,以及功能。同时讲述了搜索引擎的原理,系统功能,并探讨使用Ajax与服务器进行数据异步交互,从而改善现有的Web应用模式。
3.2功能需求
本设计要实现的功能:
1. 能够对Internet上的网页内容、标题、链接等信息按链式收集。
2. 能够实现一定链接深度的网页收集,也就是在Internet上实现一定的URL级的数据收录。
3. 对收集到的数据存入MSSQL Server 2000等关系型数据库中、或者存入文本文件中。
4. 网站信息库中的信息会不断的变动,对收集到的数据需要定期的自动维护,做到定期的删除、从新收集。
5. 对收集到的数据进行关键词的检索。
6. 对检索出的数据要可定位性,即可以显示对数据的出处的链接。
7. 实现中英文分词功能,能够按中文或者英文单词检索数据。
8. 实现无刷新的显示搜索结果,对搜索用时的计算、显示,关键字高亮显示等。
9. 逻辑搜索功能比如“中国”AND“北京”AND NOT(“海淀区”AND“中关村”)。
3.3 性能需求
1. 精度:
1.1对收集到的信息需要一定的完整性,即对链接层次里的每个链接页面都能够收集得到,并写入收集的存储区里。
1.2对搜索出的内容需要包含有关键字信息
2. 时间特性要求:
2.1数据收集时,因为是对Internet网上Web信息的收集,并且采用URL级链式的网页收集。收集数据时不能够出现无响应的等待。
2.2搜索时响应时间应不超过3秒,无论搜索的记录多少。
3. 灵活性
3.1具有良好的中文切词功能。
3.4 输入输出要求
输入:搜索的关键字。
处理:去前后空格,关键字,查询索引库。
输出:Web页面上显示搜索信息。
3.5 运行需求
1.硬件环境需求:
需要使用专用服务器,P4以上,512M以上内存,80G以上硬盘;Internet网络连接。
2.软件环境:
目 录
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
相关热词:NET 191 基于 AjaxLucene 构建
上一篇:【.NET】192 基于Notes的猎头公司网站设计