计算机毕业论文范文.doc
《计算机毕业论文范文.doc》由会员分享,可在线阅读,更多相关《计算机毕业论文范文.doc(12页珍藏版)》请在三一办公上搜索。
1、成人教育学院 毕业论文(设计) 论文题目:基于Internet的全文搜索引擎的模型设计 专 业:_计算机 _ 年 级:_10级_ 学生姓名:_钱梦阳_ 学 号:_z201001023_ 指导教师:_商迎美_ 2012 年 04 月 22 日基于Internet的全文搜索引擎的模型设计钱梦阳摘 要根据搜索引擎与信息获取的原理,设计了一个基于Internet的全文搜索引擎,该模型从技术上可以适用于任何有全文搜索需求的应用,并且由于基于Java语言设计,从而特别适于跨平台应用。该模型还采用了数据库管理作业和多线程技术,从而使全文搜索的性能和效率得到了进一步的提高。 关键词 : 搜索引擎;网络蜘蛛;分
2、析器;索引中图分类号:文献标识码:A目录摘要2目录3一、引言4二、搜索引擎系统分析4三、搜索引擎系统模型4 3.1从互联网上抓取图片5 3.2建立索引数据库 5 3.3在索引数据库中搜索6 3.4对搜索结果进行处理排序6四、模型的组成结构7五、搜索引擎实现机制9 5.1网络蜘蛛的实现机制9 5.2全文检索的实现机制10 5.2.1索引过程10 5.2.2检索过程中的结果显示10六、结论11参考文献12指导老师点评13一、 引言随着计算机技术和互联网技术的飞速发展,信息获取已经从手工获取,到计算机信息获取,以及到现在的通过网络进行信息获取。利用互联网,用户一方面可以快速、方便地接触到各种信息,但
3、是另一方面通过普通浏览的方式很难在信息的海洋中找到真正需要的信息。要在浩如烟海的网络世界寻找需要的信息,作为现代信息获取技术的主要应用搜索引擎(Search Engine)是必不可少的。中国互联网络信息中心(CNNIC)在京发布的“第十四次中国互联网络发展状况统计报告”显示, 搜索引擎是用户在互联网上获取信息最主要的方式。又由于搜索引擎有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前的研究、开发十分活跃,出现了很多值得注意的动向。二、 搜索引擎系统分析搜索引擎通常指的是基于Internet的搜索引擎,其作用是检索Web的内容。它们收集因特网上上亿个网页
4、,并且每一个网页上的每一个词都被搜索引擎所收录,也就是我们所说的全文检索。在构造搜索引擎时,布尔模型是用得最普遍的模型。在布尔模型中,一个文档通过一个关键词条的集会来表示,这些词条都来自一个词典。一个查询是由一些通过逻辑操作符号(如AND、OR和NOT)连接起来的关键词所组成。在查询与文档匹配的过程中,主要看该文档中的词条是否满足查询的条件。搜索引擎主要由网络蜘蛛(WebSpider)、索引(Index)与搜索(Search)引擎软件等部分组成。其实现原理,可以看作四步:从互联网上抓取网页(Data Gathering)建立Web内容索引数据库(Index creation)在索引数据库中搜索
5、(Search interface)对搜索结果进行处理和排序(Data display)。三、 搜索引擎系统模型 下面给出基于Internet的全文搜索引擎系统架构图,搜索引擎的各部分都会相互交错相互依赖。其处理流程按照如下描述:图 1基于Internet的全文搜索引擎系统架构3.1 从互联网上抓取网页 “网络蜘蛛”依据一定的网络协议在互联网中抓取、加工、整理网页,把网页送入“网页数据库”,从网页中“提取URL”,把URL送入“URL数据库”,“蜘蛛控制”得到网页的URL,控制“网络蜘蛛”抓取其它网页,反复循环直到把所有的网页抓取完成。在抓取网页的时候,网络蜘蛛一般有两种策略:广度优先和深度优
6、先(本文模型采用的是广度优先)。广度优先是最常用的方式,因为这个方法可以让网络蜘蛛并行处理,提高其抓取速度。两种策略的区别,下图的说明会更加明确。图 2 网络蜘蛛抓取网页的两种策略的区别3.2 建立索引数据库 系统从“网页数据库”提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的词条算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的权重(或重要性),然后用这些相关信息建立“索引数据库”。关键词在文档中的权重定义如下:其中,为关键词在文档中出现的频率,即词频;为信息库中文档的数目;为信息库中
7、包含词条的文档的个数;为文档中所有关键词的个数。有三种索引的基本技术:倒排文件、后缀数组和签名文件。倒排文件在当前大多数信息获取系统中得到应用,它对于关键词的搜索非常有效。本文模型采用倒排文件技术作为索引方法建立数据库。倒排文件结构由词汇和出现情况两部分组成。对于每个单词,都有一个列表(称为词汇列表)来记录单词在所有文本中出现的位置,这些位置可以是单词的位置(是文本中的第几个单词),也可以是字符的位置(是文本中的第几个字符)。一个在大小为个字符的文件上进行的倒排索引可以在时间内构造成功。所以已知的单词都放在一棵树结构中,在构造倒排索引的时候,对于每个读入的单词,首先在该树中查找,如果没有找到,
8、就在该树中加入一个空的词汇出现情况列表;否则将该词汇的新位置加入到树中对应词汇出现情况列表的末尾。索引被分成两个文件存放。第一个文件顺序存放词汇出现情况列表,第二个文件以字典序存放树中的词汇,还为每个词汇存放一个指向第一个文件中该单词对应的词汇出现情况列表的指针。这样第二个文件由于比较小而可以在搜索的时候放在内存中。在建“索引数据库”同时系统进行“链接信息提取”,把链接信息(包括锚文本、链接本身等信息)送入“链接数据库”,为“网页评级”提供依据。3.3 在索引数据库中搜索“用户”通过提交查询请求给“查询服务器”, “查询服务器”分解搜索请求,在“索引数据库”中进行相关网页的查找,对于单个词汇的
9、查询来说,只要从词汇表中找到对应的单词就可以找到指向该单词的出现情况列表;对于查询串由多个单词组成(这种情况在查询过程中比较常见)相对于单词汇查询要复杂得多,首先获取查询串中每个词汇的出现情况列表,然后遍历所有这些获取的列表,看看查询串中的词汇是否在文本中顺序出现(对于短语)或者比较靠近(近似查询)。这些列表的合并和交叉运算需要花费的时间比单词查询的长得多。3.4 对搜索结果进行处理排序所有相关网页针对该关键词的相关信息在索引库中都有记录,“网页评级”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过“查询服务器”按照相关度进行排序(相关度越高,排名越靠前),并提取关键词的内容摘要,
10、组织最后的页面返回给“用户”。 对于包含 个词条的查询向量 和一个文档向量 来说,它们之间的相关度可以通过下面的公式 来计算:四、模型的组成结构基于Internet的全文搜索引擎的组成结构如下表:对于外部应用来说网页获取模块(spider)、索引模块(index)和检索模块(search)是主要的外部应用入口。 表1基于Internet的全文搜索引擎的组成结构命名空间包名主要实现的类mtn.dzjs.shine.threads/mtn.dzjs.shine.spider/mtn.dzjs.shine.search/mtn.dzjs.shine.index/mtn.dzjs.shine.anal
11、ysis/mtn.dzjs.shine.queryParser/mtn.dzjs.shine.document/mtn,dzjs.shine.xml/mtn.dzjs.shine.store/mtn.dzjs.shine.util/多线程网页获取入口搜索入口 索引入口 语言分析器查询分析器 存储结构XML解析器 底层IO/存储结构一些公用的数据结构ThreadFactory、TaskQueue、 ThreadPoolMessageHandler、Filter、ThreadMonitor、Fetcher Searcher、Query、 Hits IndexSearcher、 IndexWrite
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 毕业论文 范文
链接地址:https://www.31ppt.com/p-4031482.html