毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx

上传人:b****5 文档编号:3160211 上传时间:2022-11-18 格式:DOCX 页数:24 大小:202.75KB
下载 相关 举报
毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx_第1页
第1页 / 共24页
毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx_第2页
第2页 / 共24页
毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx_第3页
第3页 / 共24页
毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx_第4页
第4页 / 共24页
毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx

《毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx(24页珍藏版)》请在冰豆网上搜索。

毕业设计论文基于Lucene与Heritrix的搜索引擎构建.docx

毕业设计论文基于Lucene与Heritrix的搜索引擎构建

本科毕业设计(论文)

基于Lucene与Heritrix的搜索引擎构建

 

摘要

在互联网蓬勃发展的今天,互联网上的信息更是浩如烟海。

人们在享受互联网带来的便利的同时,却面临着一个如何在如此海量的内容中准确、快捷地找到自己所需要的信息的问题,由此互联网搜索引擎应运而生。

本文在对搜索引擎的原理、组成、数据结构和工作流程等方面深入研究的基础上,对搜索引擎的三个核心部分即网络蜘蛛、网页索引和搜索的分析及实现过程进行阐述。

网络蜘蛛部分采用了基于递归和归档机制的Heritrix网络爬虫;网页索引部分利用开源的Lucene引擎架构设计并实现了一个可复用的、可扩展的索引建立与管理子系统;搜索部分在Ajax技术支持上,设计并实现了一个灵活、简洁的用户接口。

本系统具有抓取网页、建立和管理索引、建立日志以及搜索信息等功能,具备一定的应用前景。

关键词:

搜索引擎;中文分词;索引

TheConstructionofSearchEngineBasedonLuceneandHeritrix

Abstract

ThecontentsontheWebareincreasingexponentiallyastherapiddevelopmentoftheInternet.AproblemhowtoobtaintheusefulinformationfromvastcontentsquicklyandaccuratelyisfacinguswhilepeopleareenjoyingtheconvenienceoftheInternet.ThesolverofthisproblemisWebSearchEngine.

Theanalysisandimplementationprocessofthreebasiccomponentsofsearchengine(Crawler,IndexerandSearcher)isdescribedinthispaperonthebasisoffurtherstudyontheprinciples,composition,datastructureandworkflowofsearchengine.ThecrawlercomponentisimplementedwithHeritrixcrawlerbasedonthemechanismofrecursionandarchiving;Areusable,extensibleindexestablishmentandmanagementsubsystemaredesignedandimplementedbyopen-sourcepackagenamed“Lucene”intheindexercomponent;TheSearchercomponentbasedontheAjaxtechnologyisdesignedandrealizedasaflexible,conciseuserinterface.Thesystemhassomefunctions,suchascrawlingwebpage,establishmentandmanagementindex,establishmentlogandsearchinformation,ithasacertainapplicationprospect.

KeyWords:

SearchEngine;ChineseWordSegmentation;Index

目录

摘要I

AbstractII

1绪论1

1.1项目背景1

1.2国内外发展现状1

2系统的开发平台及相关技术3

2.1系统开发平台3

2.2系统开发技术3

2.2.1Heritrix网络爬虫简介3

2.2.2Lucene技术简介4

2.2.3Ajax技术简介4

3系统分析与设计6

3.1系统需求分析6

3.1.1系统架构分析6

3.1.2系统用例模型6

3.1.3系统领域模型10

3.2系统概要设计11

3.3系统详细设计12

3.3.1索引建立子系统13

3.3.2用户接口子系统17

4系统的实现18

4.1系统包框架的构建18

4.1.1索引建立子系统18

4.1.2用户接口子系统19

4.2系统主要功能实现19

4.2.1索引建立子系统19

4.2.2用户接口子系统22

结论24

参考文献25

致谢26

1绪论

1.1项目背景

1994年左右,万维网(worldwideweb)出现了。

它的开放性和其上信息广泛的可访问性极大的激励了人们创作的积极性。

在短短的十几年间,人类至少在万维网上发布了40亿条的网页,并且现在每天都有数以万计的数量增长。

由于网络上的资源与生俱来的数字化、网络化,这些特性成为了网络信息的双刃剑:

一方面便于我们搜集整理,另一方面也会使我们感到太多蜂拥而至,无所适从。

而搜索引擎的由来要追溯到1990年加拿大的麦吉尔大学,麦吉尔大学的师生为了在分散在FTP资源上找到所需的东西,他们开发了软件Archie。

它通过定期搜索并分析FTP系统中存在的文件名信息,提供查找分布在各个FTP主机中文件的服务。

当Web风靡全球之后,以Web网页为对象的搜索引擎检索系统产生了。

成为人们上网找寻信息的重要手段,通过搜索引擎系统人们可以在浩如烟海的网络中瞬间找到想要找到的信息,并且搜索引擎的智能以及现在网页的特性使得人们只要输入相关的词语就可以找到直接相关的信息。

现今,Google的巨大成功让整个世界都把眼光投入到搜索引擎这个领域中。

仿佛一夜间,各种各样的搜索服务席卷而来。

从最初的Google、Yahoo到现今的Baidu、MSN、中搜、Sogou等,搜索引擎的品牌愈来愈多,服务也越来越丰富。

同时,伴随着Web2.0的普及,网络信息的膨胀速度呈指数急速增长,各种各样的网站都需要为其加入检索功能,以满足用户的需要。

另外,在企业级应用的市场上,全文信息检索的需求也一直在增加,各种文档处理、内容管理软件都需要键入全文检索的功能。

在这种背景下,搜索引擎的技术迅速发展。

各种讨论搜索的文章、杂志、论文铺天盖地,论坛和博客上也有许多相关帖子。

一时间,搜索引擎技术成为最热门的技术之一。

1.2国内外发展现状

网页是因特网的最主要的组成部份,也是人们获取网络信息的最主要的来源,为了方便人们在大量繁杂的网页中找寻自己需要的信息,这类检索工具发展的最快。

一般认为,基于网页的信息检索工具主要有网页搜索引擎和网络分类目录两种。

网页搜索引擎是通过“网络蜘蛛”等网页自动搜寻软件搜索到网页,然后自动给网页上的某些或全部字符做上索引,形成目标摘要格式文件以及网络可访问的数据库,供人们检索网络信息的检索工具。

网络目录则是和搜索引擎完全不同,它不会将整个网络中每个网站的所有页面都放进去,而是由专业人员谨慎地选择网站的首页,将其放入相应的类目中。

网络目录的信息量要比搜索引擎少得多,再加上不同的网络目录分类标准有些混乱,不便人们使用,因此虽然它标引质量比较高,利用它的人还是要比利用搜索引擎的人少的多。

但是由于网络信息的复杂性和网络检索技术的限制,这类检索工具也有着明显的不足:

(1)随着网页数量的迅猛增加,人工无法对其进行有效的分类、索引和利用。

网络用户面对的是数量巨大的未组织信息,简单的关键词搜索,返回的信息数量之大,让用户无法承受。

(2)信息有用性评价困难。

一些站点在网页中大量重复某些关键字,使得容易被某些著名的搜索引擎选中,以期借此提高站点的地位,但事实上却可能没有提供任何对用户有价值的信息。

(3)网络信息日新月异的变更,人们总是期望挑出最新的信息。

然而网络信息时刻变动,实时搜索几乎不可能,就是刚刚浏览过的网页,也随时都有更新、过期、删除的可能。

网络信息检索工具的发展主要体现在进一步改进、完善检索工具和检索技术,以提高检索服务质量,改变网络信息检索不尽如意的地方。

2系统的开发平台及相关技术

该系统开发需要J2EE和J2SE相关技术,开发平台要求合理、方便、快捷,开发环境的选取至关重要,当选取一种相对合理的开发平台时,会提高系统开发效率,并遵循以最低的消耗完成最有价值的工程这一原则。

2.1系统开发平台

本系统的开发平台如下表2.1所示:

表2.1系统开发平台配置

名称

平台

系统开发操作系统:

WindowsXP中文版

系统开发数据库系统:

SQLServer2000个人版sp3

系统开发前台页面设计:

MacromediaDreamweaver8.0

J2EE服务端引擎:

Tomcat6.0

范围系统集成开发工具:

MyEclipse5.5.1GA

Java运行环境:

JDK1.6.0_03

2.2系统开发技术

2.2.1Heritrix网络爬虫简介

Heritrix是一个由Java开发的、开源的Web网络爬虫,用户可以使用它从网络上抓取想要的资源。

Heritrix最出色之处在于它的可扩展性,开发者可以扩展它的各个组件,来实现自己的抓取逻辑。

Heritrix设计成严格按照robots.txt文件的排除指示和METArobots标签。

Heritrix是IA的开放源代码,可扩展的,基于整个Web的,归档网络爬虫工程。

Heritrix工程始于2003年初,IA的目的是开发一个特殊的爬虫,对网上的资源进行归档,建立网络数字图书馆,在过去的6年里,IA已经建立了400TB的数据。

(1)Heritrix1.0.0包含以下关键特性:

①用单个爬虫在多个独立的站点一直不断的进行递归的爬。

②从一个提供的种子进行爬,收集站点内的精确URI和精确主机。

③主要是用广度优先算法进行处理。

④主要部件都是高效的可扩展的。

⑤良好的配置。

(2)Heritrix的局限:

①单实例的爬虫,之间不能进行合作。

②在有限的机器资源的情况下,却要复杂的操作。

③只有官方支持,仅仅在Linux上进行了测试。

④每个爬虫是单独进行工作的,没有对更新进行修订。

⑤在硬件和系统失败时,恢复能力很差。

⑥很少的时间用来优化性能。

2.2.2Lucene技术简介

Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。

Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

面对已经存在的商业全文检索引擎,Lucene也具有相当的优势。

首先,它的开发源代码发行方式,在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能,而且可以深入细致的学习到全文检索引擎制作技术和面相对象编程的实践,进而在此基础上根据应用的实际情况编写出更好的更适合当前应用的全文检索引擎。

在这一点上,商业软件的灵活性远远不及Lucene。

其次,Lucene秉承了开放源代码一贯的架构优良的优势,设计了一个合理而极具扩充能力的面向对象架构,程序员可以在Lucen

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1