基于Lucene的论文检索系统毕业论文

 2021-04-10 11:04

摘 要

本文主要从两个方面来建设搜索引擎,一是网络爬虫,本文探讨了网络爬虫在搜索引擎中的作用和地住,提出了网络爬虫的功能和设计要求。在对网络爬虫系统结构和工作原理所作分析的基础上,研究了页面爬取、解析等策略和算法,并使用Java实现了一个网络爬虫的程序,对其运行结果做了分析。第二是luncne搜索引擎的实现,利用此工具对网络爬虫提取的新闻进行搜索。

关键字:爬虫、搜索引擎、Lucene

Abstract

Mainly from two aspects to building a search engine, first, the Web crawler, this paper explores the Web crawler search engine and to live, a web crawler functionality and design requirements. Web crawler system structure and working principle of the analysis based on study strategies and algorithms of the page crawling, parsing, etc., and use the Java implementation of a Web crawler program, its operating results analysis. The second is luncne search engine, use this tool to search the Web crawler to extract the news.

KeyWord: Reptiles, the search engine,Lucene

目 录

摘 要 2

第一章 绪论 6

1.1搜索引擎现状分析 6

1.2课题开发背景 6

第二章 相关技术 8

2.1关于java语言 8

2.2 Jbuilder介绍 9

2.3 Servlet的原理 9

2.4 网络爬虫的工作原理 11

2.5 Lucene技术 11

第三章 系统分析与设计 12

3.1系统总体结构 13

3.2系统类图 13

3.3搜索策略 15

第四章 系统的实现 17

4.1搜索引擎界面设计 17

4.1.1界面设计与实现 17

4.1.2设计代码与分析 17

4.2 servlet的实现 19

4.3网页的解析实现 20

4.3.1网页的分析 20

4.3.2网页的处理队列 20

4.4网络爬虫的实现 21

4.4.1爬虫结构分析 21

4.4.2爬虫设计与实现 22

第五章 搜索引擎测试 36

第六章 结论 37

参考文献 38

第一章 绪论

1.1搜索引擎现状分析

互联网被普及前,人们查阅资料首先想到的便是拥有大量书籍的图书馆,而在当今很多人都会选择一种更方便、快捷、全面、准确的方式——互联网.如果说互联网是一个知识宝库,那么搜索引擎就是打开知识宝库的一把钥匙.搜索引擎是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术,用于帮助互联网用户查询信息的搜索工具.搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的.目前搜索引擎已经成为倍受网络用户关注的焦点,也成为计算机工业界和学术界争相研究、开发的对象.

目前较流行的搜索引擎已有Google, Yahoo, Info seek, baidu等. 出于商业机密的考虑, 目前各个搜索引擎使用的Crawler 系统的技术内幕一般都不公开, 现有的文献也仅限于概要性介绍. 随着W eb 信息资源呈指数级增长及Web 信息资源动态变化, 传统的搜索引擎提供的信息检索服务已不能满足人们日益增长的对个性化服务的需要, 它们正面临着巨大的挑战. 以何种策略访问Web, 提高搜索效率, 成为近年来专业搜索引擎网络爬虫研究的主要问题之一。

1.2课题开发背景

目前虽然有很多种搜索引擎,但各种搜索引擎基本上由三个组成部分:

(1)在互联网上采集信息的网页采集系统:网页采集系统主要使用一种工作在互联网上的采集信息的“网络蜘蛛”。“网络蜘蛛”实际上是一些基于web的程序,利用主页中的超文本链接遍历Web.利用能够从互联网上自动收集网页的“网络蜘蛛”程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到网页数据库中。

(2)对采集到的信息进行索引并建立索引库的索引处理系统:索引处理系统对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后建立索引并存人到网页索引数据库中.索引数据库可以采用通用的大型数据库,如Oracle,Sybase等,也可以自己定义文件格式进行存放.为了保证索引数据库中的信息与Web内容的同步,索引数据库必须定时更新,更新频率决定了搜索结果的及时性.索引数据库的更新是通过启动“网络爬虫”对Web空间重新搜索来实现的.

(3)完成用户提交查询请求的网页检索器:网页检索器一般是一个在Web服务器上运行的服务器程序,它首先接收用户提交的查询条件,根据查询条件对索引库进行查找并将查询到的结果返回给用户.当用户使用搜索引擎查找信息时,网页检索器接收用户提交的关键词,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页.有的搜索引擎系统综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前.最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户.典型的搜索引擎系统如Google就是采用这种策略.

信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、中国搜索等大型搜索引擎一直是人们讨论的话题.搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite,以及ahvista、overture、google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末本世纪初.在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始的情况下.例如操作系统、字处理软件、浏览器等等,但搜索引擎却是个例外.虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续涌现出优秀的搜索引擎,像百度、中搜等.

随着搜索引擎技术的成熟,它将成为获取信息、掌握知识的利器.但是现有的搜索引擎对于用户所提出的查询要求仅限于关键词的简单逻辑组合,搜索结果重视的是返回的数量而不是质量,在结果文档的组织和分类上也有所欠缺.国外的一次调查结果显示,约有71%的人对搜索的结果感到不同程度的失望.因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学术界有待研究的方向。

第二章 相关技术

2.1关于java语言

Java语言是由Sun公司于1995年推出的一种新的编程语言,它是一种跨平台、适合于分布式计算环境的纯面向对象语言。Java语言及其扩展正在逐步成为互联网应用的规范,掀起了自PC机以来的又一次技术革命。一般认为,B语言导致了C语言的诞生、C语言演变出C 语言,而Java语言则明显带有C 语言的特征。Java总是和C 联系在一起,而C 则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象特性都受到C 的影响。事实上,Java中几个自定义的特性都来自于或可以追溯到它的这些前驱语言。略有不同的是,Java语言完全面向对象,从而摒弃了二者的不足之处。Java语言的诞生与过去约30年中计算机语言的不断改进和发展密切相关。

Java是由James Gosling、Patrick Naughton、Chris Warth、Ed Frank以及Mike Sheridan等人于1991年在Sun Microsystems公司设计出来的,开发第一个版本花了18个月时间。该语言最初名叫“Oak”,后来发现“Oak”已经是Sun公司另外一种语言的注册商标,于1995年更名为“Java”,即太平洋上一个盛产咖啡的岛屿的名字。从1992 的秋天Oak问世,到1995春天公开发布Java语言,许多人都对Java的设计和改进做出了贡献。

您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,优先添加企业微信。