1、 本 科 毕 业 论 文 游戏 垂直 搜索引擎 : 基于 Heritrix网络爬虫的 搜 索引擎 DEMO系统 Game Vertical Search Engine: Search engine DEMO system based on Heritrix web crawler 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月 摘 要 搜索引擎是互联网检索技术的核心,随着互联网的迅速发展,目前的综合搜索引擎已无法满足用户的需求,这就成就了垂直搜索引擎的蓬勃发展。 垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,相对通用搜索引擎
2、的信息量大、查询不精确、深度不够等提出来的新的搜索引擎服务模式。通过针对某一特定领域或某一特定需求提供的有一定价值的信息和相关服务。 本文 构建一个关于 游戏的 垂直搜索引擎,让用 户可以在 这个游戏搜索 网站上,搜索 到其 需要的 游戏 信息,并能从搜索结果中打开一个有关详细信息的页面进行浏览。 系统使用 MyEclipse 作为开发环境。后台数据处理使用 Lucene 索引工具和Heritrix 爬虫技术,前台使用 JSP 技术进行页面设计,后台数据库使用 MySQL 数据库。设计的目的是让用户可以在网站上搜索其需要的游戏信息,并能从搜索结果中打开一个有关游戏详细 信息 的 页面进行浏览。
3、在系统中,游戏信息是从新浪游戏、17173 和迅雷游戏上利用 Heritrix 抓取下来的。网页经过 HTMLParser 解析后,得到的游 戏详细信息插入到 MySQL 数据库中,并为该游戏建立 Lucene 索引。最后构建一个简单的 Web 平台,对建立的索引和数据库进行整合,为用户提供真正的搜索服务。 另外, 本文还 对 Lucene 和 Heritrix 等一些开源 java 项目进行了简单的介绍。 关键 词 : 垂直搜索 ; 搜索引擎 ; Lucene Abstract Search engine is the core of the Internet information ret
4、rieval technology, with the rapid development of Internet, the current horizontal search engine cant satisfy these Internet users, which gives a good opportunity to vertical search engine to develop. Vertical search is a professional search engine in one industry, is the subdivision of search engine
5、. Compared with horizontal search engine which is huge information, inaccurate, not enough depth, the vertical search engine put forward a new model search engine services. Vertical search engine provides special information and related services to a particular area or a specific demand for a certai
6、n value. This article builds a vertical search engine for game industry, providing the user to search in this game website, searching for game information which they need, and they can click the search results to open a detailed information page. The system uses MyEclipse as a development environmen
7、t, and uses Lucene index tool and Heritrix crawler technology to do background data-processing, and uses JSP technology to design the front pages. Besides, it uses MYSQL as the background database. The aim of this design is to make the users search for the game information of their needs in the webs
8、ite, and click the search results to open a detailed game page to browse the game information. In the system, game information is from Sina, 17173, and Thunder websites by using the Heritrix crawler. After been analyzed by HTMLParser, the information is inserted into the MySQL database, then establi
9、sh the Lucene indexing of the game. Finally, we build a simple Web platform, and integrate the index and database, providing real search services for the users. In addition, this article also makes a brief introduction to Lucene and Heritrix, which are open-source java projects. Key words: Vertical
10、search; Search engine; Lucene 目录 第一章:引言 . 1 第二章:垂直搜索引擎的概况 . 2 2.1 垂直搜索引擎介绍 . 2 2.2 垂直搜索具的特征 . 4 2.3 垂直搜索引擎与综合搜索引擎的比较 . 6 2.4 垂直搜索的发展现状 . 8 2.4.1垂直搜索发展的可行性 .8 2.4.2垂直搜索引擎存在的必要性 .8 2.4.3用户对搜索引擎的依赖性 .9 2.5 垂直搜索的发展 方向 . 9 第三章:搭建游戏垂直搜索引擎 . 11 3.1 项目概述 . 11 3.2 研究目的 . 11 3.3 可行性分析 . 11 3.4 需求分析 . 12 3.5 系
11、统总体结构图 . 13 3.6 功能模块分析 . 13 3.6.1后台数据处理模块 . 13 3.6.2前台视图模块 . 14 3.7 垂直搜索系统框架 . 14 3.8 Lucene 简介 . 15 3.8.1 Lucene 系统结构和功能分析 . 15 3.8.2 Lucene 全文检索的实现机制及步骤 . 16 3.8.3 Lucene 索引的建立 . 17 3.8.4 Lucene 的搜索 . 18 3.9 Heritrix 简介 . 19 3.10 网络爬虫模块设计 . 20 3.11 网页解析模块设计 . 25 3.11.1 基类设计 . 26 3.11.2 具体解析类设计 . 2
12、7 3.12 数据库与索引模块设计 . 27 3.12.1 gameinfo 类 . 27 3.12.2 数据库结构 . 27 3.12.3 数据库处理和索引处理 . 28 3.12.4 调用数据库处理类和索引处理类 . 28 3.13 前台视图模块设计 . 29 3.13.1 搜索界面 welcome.jsp . 29 3.13.2 搜索结果界面 result.jsp . 29 第四章:系统的运行结果 . 32 第五章:结束语 . 35 致谢语 . 36 参考文献 . 37 Contents Chapter 1: Introduction . 1 Chapter 2: Overview Of
13、 Vertical Search Engine . 2 2.1 Introduction Of Vertical Search Engine . 2 2.2 Characteristics Of Vertical Search Engine . 4 2.3 Compared Vertical Search Engine With Horizontal Search Engine . 6 2.4 The Development Of Vertical Search. 8 2.4.1 The feasibility of the development of vertical search .8
14、2.4.2 The necessity of existence of vertical search engines .8 2.4.3 The dependent on the search engine .9 2.5 The Direction Of The Development Of Vertical Search. 9 Chapter 3: Set Up A Vertical Search Engine In Game Industry . 11 3.1 Project Overview . 11 3.2 The Purpose Of The Study . 11 3.3 Feasi
15、bility Analysis . 11 3.4 Requirements Analysis. 12 3.5 The Oerall Structure Of System . 13 3.6Analysis Of Functional Modules . 13 3.6.1 Background data processing module . 13 3.6.2 Foreground view module . 14 3.7 Framework For The Vertical Search System . 14 3.8 Introduction Of Lucene . 15 3.8.1 Luc
16、ene system structure and function analysis . 15 3.8.2 Lucene full-text search mechanism and the steps to achieve . 16 3.8.3 Lucene index to establish . 17 3.8.4 Lucene Search . 18 3.9 Introduction To Heritrix . 19 3.10 Network Crawler Modular Design. 20 3.11 Page Extractor Modular Design. 25 3.11.1
17、Base class design . 26 3.11.2 Specific extractor class design . 27 3.12 Database and indexing module degign . 27 3.12.1 Class gameinfo . 27 3.12.2 Database structure. 27 3.12.3 Database processing and index processing . 28 3.12.4 Call the class of database processing and index processing . 28 3.13 F
18、oreground View Module Design . 29 3.13.1 Search interface:welcome.jsp . 29 3.13.2 Search result interface:result.jsp. 29 Chapter 4: Runing Result Of The System . 32 Chapter 5: Summary . 35 Acknowledgement. 36 References. 37 游戏 垂直 搜索引擎 -基于 Heritrix 网络爬虫的搜索引擎 DEMO 系统 1 第一章: 引言 当今,互联网已在 人们 生活中扮演越来越重要的角
19、色, 网络信息资源的爆炸式增长使得人们获得有用信息日益困难,垂直搜索引擎应运而生。 在 浩如烟海 的信息世界里, 用户想要快速找到所需资源 , 搜 索引擎是不可缺少的 。 本文以游戏 行业 垂直搜索 网站 的搭建开发为背景,深入理解搜索引擎的开发思想,针对所负责的模块,进行垂直搜索引擎项目的开发。 首先对垂直搜索引擎进行了简要的介绍,介绍了垂直搜索的 几个 特征,垂直搜索和综合搜索之间的异同,以及垂直搜索的发展和前景。 接下来,本文以软件工程的思想的文档要求进行书写,包括:项目概述、研究目的、可行性分析、 需求分析、系统总体结构、各模块的分析及垂直搜索的系统框架。 之后转让各模块的详细设计,确
20、定每个模块的算法和内部数据组织,并用各种表达工具进行清晰的描述。 系统使用 MyEclipse 作为开发环境。使用 Lucene 索引工具和 Heritrix爬虫 等 技术 , 构建一个简单的 Web平台,对建立的索引和数据库进行整合,为用户提供真正的搜索服务。 在此网站系统的开发过程中,我主要完成了 网络爬虫模块 Heritrix 配置、抓取 的设计 ,将需要搜索的几个游戏频道网站的网页抓取存在本地,供后续的析取索引之用,还负责前台 JSP 页面 和网站 logo 的设计。 并积极配合协助李新泉对索引、搜索模块的开发。 第二章:垂直搜索引擎的概况 2 第二章: 垂直搜索引擎的 概况 2.1
21、垂直搜索引擎 介绍 垂直搜索是针对某一个行业的专业搜索引擎, 是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理 后再以某种形式返回给用户。相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是 “ 专、精、深 ” ,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加 专注、具体和深入。 具体而言 , 垂直搜索引擎就是对网页库中的某类专门的信息进行一次整合 , 定向分字段抽取出需要的数据 , 进行处理后再
22、以某种特定形式返回给用户 , 它是搜索引擎的细分和延伸。 垂直搜索引擎和普通的网页搜索引擎的最大区别是对网页信息进行了结构化信息抽取 , 也就是将网页的非结构化数据抽取成特定的结构化信息数据。如果说网页搜索是以网页为最小单位 , 而垂直搜索是以结构化数据为最小单位。将这些数据存储到数据库 , 进行进一步的加工处理 , 如 : 去重、分类等 , 最后分词、索引 , 最终以对结构化数据的搜索的方式满足用户的信息需求。整个过程中 , 数据由非结构化数据抽取成结构化数据 , 经过深度加工处理后以非结构化的方式和结构化的方式 返回给用户。 垂直搜索提供了整合深度和广度的行业信息以及更加细致周到的服务,做
23、到了用于要求的专、精、深。因而业界普遍认为垂直搜索将是搜索市场下一个增长点,具有非常好的前景 。 垂直搜索引擎的应用领域很多 , 比如找工作的搜索、旅游搜索、医药搜索、图书搜索、游戏搜索、购物搜索 几乎各行各业各类信息都可以进一步细化成各类的垂直搜索引擎。目前中文垂直搜索引擎也已经出现了很多 , 比如 以下两个著名的 找工作 和旅游 的搜索引擎 网站 : 游戏 垂直 搜索引擎 -基于 Heritrix 网络爬虫的搜索引擎 DEMO 系统 3 (1)工作 搜索引擎 :职友集 (http:/ 。汇集了各大工 作网站的信息 ,信息量非常大。 图 2.1 职友集网站截图 (2)旅游 搜索引擎 : 去哪儿 (http:/)。汇集了各大航空的机票信息 ,具有很好的及时性。 图 2.2 去哪儿 网站截图