《搜索引擎的设计与实现-学位论文》由会员分享,可在线阅读,更多相关《搜索引擎的设计与实现-学位论文(41页珍藏版)》请在金锄头文库上搜索。
1、学校代码: 10128学 号: 040201015 本科毕业设计说明书题 目:搜索引擎的设计与实现学生姓名:庞佳学 院:信息工程学院系 别:计算机专 业:计算机科学与技术班 级:计算机04-2指导教师:苏依拉 副教授 钱庭荣 工程师二 八 年 六 月内蒙古工业大学本科毕业设计说明书摘 要为了适应网络信息的飞速增长,并且能够迅速、方便地从网络中获取有效信息, 搜索引擎逐渐走进了人们的生活,“竹竹”搜索引擎系统在这样的条件下,应运而生。本文首先系统的介绍了搜索引擎的概念、发展历史、和搜索引擎的分类。使读者能够初步了解搜索引擎技术。然后,详细介绍了“竹竹”搜索引擎系统。“竹竹”搜索引擎是基于Web的
2、,面向笔记本电脑品牌的搜索引擎。系统的前端以MVC模式来实现,Spring做中间层,JDBC作后端来开发实现的。本系统分为三个子模块,抓取模块实现的功能为:将web上的海量网页抓取到系统中;采用的实现方法是使用Heritrix来完成对网页的抓取。处理模块实现的功能为:解析网页,提取其中的有用内容,为网页建立词库,由于笔记本电脑的品牌名在现有词库中不存在,因此要建立其特有的词库文件,对解析网页生成的信息文件进行分词,并建立索引,将索引存入数据库中;采用的实现方法是:通过Lucene的API来实现对网页内容的建索,使用HTMLParser的API实现了对网页内容的解析。用户模块实现的主要功能是:用
3、户模块是系统的用户接口,用户通过此模块完成与系统的交互,当用户在查询界面上输入要检索的品牌信息后,系统将在可以接受的时间内,返回用户所需的结果集;采用的实现方法是:通过DWR封装了AJAX技术,处理用户请求;通过Lucene的API来实现检索。关键词:搜索引擎;Lucene;HeritrixAbstractIn order to adapt to the rapid growth of information networks, and can quickly and easily access to information from the network, search engines g
4、radually come into peoples lives, zhuzhu search engine system is builded in such conditions. This paper first introduced the system,the concept of search engines, the development of history, and search engines category. So that readers can understand the search engine technology. Then, details of th
5、e zhuzhu search engine system. zhuzhu search engine is a Web-based, brand-oriented notebook computer search engine. The front-end system is made by model MVC, Spring to the middle layer, JDBC for the back-end . The system is divided into three sub-module, crawl module for the realization of the func
6、tions: Massive on the web page to crawl into the system; using the method is used to running Heritrix. Processing module for the realization of the functions: Analysis of the page, which extract useful content, pages thesaurus, because the brand of notebook computers available in the thesaurus does
7、not exist, to establish its unique lexicon documents, analysis of the page Information generated by Word documents, and index, the index will be deposited in the database; method is used: Lucene API to achieve the content of the cable construction, the use of the API HTMLParser achieve the web conte
8、nt analysis. User module to achieve the main functions are: the user module is the user interface, the user through the completion of this module interactive system, when a user interface for input to the brand information retrieval system, the system will be acceptable time, Back to the user requir
9、ements set of results; using the method is: through the package the DWR AJAX technology, processing user requests through the Lucene API to achieve search. Key words: search engine; Lucene; Heritrix目 录引 言2第一章 课题背景21.1搜索引擎的概念21.2搜索引擎的发展历史31.2.1搜索引擎的起源31.2.2第一代搜索引擎41.2.3第二代搜索引擎41.2.4当前著名的搜索引擎简介41.3搜索引
10、擎的分类51.3.1全文索引51.3.2目录索引61.3.3元搜索引擎61.3.4垂直搜索引擎61.3.5其他非主流搜索引擎形式6第二章 系统需求分析82.1搜索引擎的工作原理82.2系统功能需求82.3系统性能需求9第三章 系统总体设计103.1“竹竹”搜索引擎系统总体介绍103.2系统模块介绍123.2.1 模块功能介绍12第四章 系统详细设计174.1模块总体介绍174.2抓取子模块184.2.1运行Heritrix子模块184.2.2分析网页子模块234.3处理子模块274.3.1解析网页子模块274.3.2创建词库子模块284.3.3生成持久化类子模块284.3.4创建Documen
11、t子模块294.4.5存储数据子模块334.4用户子模块334.4.1搜索页面344.4.2详细信息页面34结 论35参考文献36谢 辞372引 言 随着互联网的不断发展和日益普及,信息技术的不断发展,网上的信息量在爆炸性增长,这已经深入到了人们生活的各个方面,改变了人们生活方式和思维方式,方便了全球信息资源共享。在2004年4月,全球Web页面的数目已经超过40亿,中国的网页数估计也超过了3亿。要在如此浩瀚的海洋里寻找信息,就像“大海捞针”一样,能有一种工具使我们可以迅速找到我们想要的内容吗?答案是“有”,这就是搜索引擎。著名的因特网搜索引擎包括Baidu、Google、Sohu等。由于笔记
12、本电脑的使用和风靡,有关笔记本电脑的检索也随之增多。因此,为了使用户能够更加简单,快捷的检索笔记本电脑,“竹竹”搜索引擎系统实现了这种需求。搜索引擎(Search Engine)就是指在WWW(World Wide Web)环境中能够响应用户提交的搜索请求,返回相应的查询结果信息的技术和系统,是互联网上的可以查询网站或网页信息的工具。它包括信息搜集、信息整理和用户查询三部分。“竹竹” 搜索引擎系统实现了自动将Web上的海量网页抓取到本地。然后解析网页,提取其中的有用内容,为网页建立词库(由于笔记本电脑的品牌名在现有词库中不存在,因此要建立其特有的词库文件),对解析网页生成的信息文件进行分词,并
13、建立索引,将索引存入数据库中。“竹竹” 搜索引擎系统为用户提供了简洁的查询页面,用户通过此界面完成与系统的交互。当用户在查询界面上输入要检索的品牌信息后,系统将在可以接受的时间内,返回用户所需的结果集。因此,本系统实现了搜索引擎的基本功能,能够使用户可以简单,快捷,精确的对笔记本电脑品牌进行检索。1内蒙古工业大学本科毕业设计说明书第一章 课题背景1.1搜索引擎的概念由于网络信息的飞速增长,我们不得不面对浩瀚的网络资源,这极大地改变了人们获取信息的方式, 面对浩如烟海的网络信息, 如何才能迅速、方便地获取有效信息, 日益成为人们关心的问题, 搜索引擎的出现极大地缓解了这一矛盾。它为所有网上冲浪的
14、用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。搜索引擎是一种应用在Web上的,为用户提供检索服务的软件系统, 它以一定的策略在Web上搜集和发现信息, 并对信息进行分析、提取、组织等处理后形成供检索用的数据库。从使用者的角度看,这种软件系统提供一个网页界面,让他通过浏览器提交一个词语或者短语,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法通常根据网页中关键词的匹配程度,出现的位置/频次,链接质量等计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链
15、接返回给用户。这个与用户输入内容相关的信息列表(常常会是很长一个列表,例如包含1万个条目)。这个列表中的每一条目代表一篇网页,至少有3个元素: (1)标题:以某种方式得到的网页内容的标题。最简单的方式就是从网页的标签中提取的内容。(尽管在一些情况下并不真正反映网页的内容)。(2)URL:该网页对应的“访问地址”。有经验的Web用户常常可以通过这个元素对网页内容的权威性进行判断,例如http:/上面的内容通常就比http:/(某个假想的个人网站)上的要更权威些(不排除后者上的内容更有趣些)。 (3)摘要:以某种方式得到的网页内容的摘要。最简单的一种方式就是将网页内容的头若干字节(例如512)截取下来作为摘要。 通过浏览这些元素,用户对相应的网页是否真正包含