1、目录/CONTENTS,PART 01 关于论文 About dissertation,PART 02 知识点了解 Knowledge to understand,PART 03 系统分析与实现,PART 04 项目演示 Paper presentation,PART 05 结论Conclusion,System analysis and implementation,本次论文课题是“搜索引擎的设计与实现”,本次设计是由Lucene技术做支撑来进行的开发,最终成功的设计出搜索引擎的全过程。搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息
2、进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。 Lucene是非常优秀的成熟的、开源的、免费的纯Java语言的全文索引检索文具包,Lucene是一个高性能、可伸缩的信息搜索(IR)库。,关于论文,About dissertation,知识点了解,Knowledge to understand,相关工具简介,MyEcipse, 提供项目运行的Java环境,编写程序空间,Sql Server 数据库 , 用户前端展示信息的支撑,是数据的存储地,Tomcat服务器,
3、用户提交检索请求,由它来进行接收、处理,知识点了解,Knowledge to understand,重点知识点:,分析器 Analyzer:将域(Field)文本转换为最基本的索引表示单元项(Term)的过程,输入输出(I/O)流: 是将用户输入的一段文本,分析成符合逻辑的一种工具。通常应用程序中使用输入流读出数据,输出流写入数据。简单的说,输入流就是读文件,输出流就是写文件,索引:关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,过滤器Filter:对目标资源的请求和响应进行截取,从而缩
4、小搜索的范围,系统分析与实现,System analysis and implementation,显示搜索历史、过滤关键字,系统分析,经过对搜索引擎的研究同时与Lucene自身的特性相结合,将本次设计所需要实现的功能阐述如下:,支持桌面文件搜索,格式包括txt、doc、xls和ppt;,支持分词查询,支持全文搜索,能够高亮显示搜索关键字,显示查询所用的时间,系统分析与实现,System analysis and implementation,分词查询与全文搜索这两项功能,我们都可以利用Lucene本身自带的库加上相关算法就可以完成设计了,为了使得关键字的高亮度这一问题得到解决,显然,我们需要
5、利用Highlighter的辅助,通过数据库持久化保存数据。,系统分析与实现,System analysis and implementation,系统概要设计,在我们进行需求分析的时候,制定的用例以及领域模型都可以直接的带入到设计阶段,我们粗略设计的搜索引擎系统的构架如下:,系统分析与实现,System analysis and implementation,系统实现目标,希望实现一个可用于海量信息快速搜索的个性化引擎,它应该具有快速、便捷和精确等特性,并且能够一目了然而看到搜索耗时,关键字高亮度显示等等个性化效果。实现时希望不需要高配置的硬件资源以及复杂的环境配置或搭建,幸运的是开源Luc
6、ene库给我们提供了可能。,项目演示,Paper presentation,环境配置 jar包导入,数据库连接 用户名:qian 密码:wqian,浏览器检索 127.0.0.1:8080/ WebLucene2,Conclusion,结论,本次设计主要就是通过利用Lucene技术,来实现搜索引擎的设计和实现的过程。由MyEcipse、sql server2008、tomcat这三者之间相互协调配合,这一功能才得以正常运行和实现。本项目是对一个基于Lucene技术的搜索引擎设计与实现的过程,通过开源库Lucene的支持,快速地实现了海量信息的搜索功能,它不仅实现了文件快速查找的功能,而且还实现了全文搜索,还能实现类似百度的分词搜索效果,效果颇佳。同时加入了数据库处理。该系统可以通过扩展或改造然后适用于站内搜索,这样可以使用户快速的找到自己想浏览的信息,提高用户体验和网站流量。到此搜索引擎的基本功能都已基本完成,但是还有待改进或加强的地方,例如如果把分词做到最优最人性化,怎样分才是最合理,都需要进一步研究。,由衷的感谢各位老师的观看,谢谢!,