毕业设计论文动画素材搜索引擎.doc
《毕业设计论文动画素材搜索引擎.doc》由会员分享,可在线阅读,更多相关《毕业设计论文动画素材搜索引擎.doc(58页珍藏版)》请在三一办公上搜索。
1、浙江工业大学本科毕业设计说明书(论文)本科毕业设计说明书(论文)(2009届)题目: 动画素材搜索引擎 学生姓名 指导教师 专业班级 软件工程2007 (3+2) 1班 所在学院 软件学院 提交日期 2009年6月 5 浙江工业大学本科毕业设计说明书(论文)动画素材搜索引擎摘 要21世纪是信息的时代,也是网络的时代。不断通畅与进步的互联网在给人们带来浩如烟海的网络信息的同时,也容易使人在查询自己所需的有用的相关信息时陷入迷茫。搜索引擎正是为了满足人们网络信息搜索应运而生的网络工具,它是互联网信息查询的导航针。而baidu,google,yahoo这类搜索引擎的兴起带动了整个行业的发展,但是对于
2、一些行业背景比较强烈的搜索还有待滞后,动画素材搜索引擎的提出正是为了解决动画产业的这一空缺。本文首先介绍了搜索引擎的概念及开发所需的技术,并通过深入分析行业的需求及搜索引擎所应用的一些需求,确定整个动画素材搜索引擎的功能列表,然后基于需求对搜索引擎进行详细的分析与设计,最后在设计的基础上完成动画素材搜索引擎的代码实现。整个平台设计为B/S结构,基于webwork, ibatis,spring来搭建整个平台,对于爬虫程序的设计是基于开源搜索引擎nutch的基础进行的改造,通过它实现整个平台的分布式处理。关键词:搜索引擎,nutch,Lucene,网络爬虫ANIMATION MATERIAL SE
3、ARCH ENGINEABSTRACT The 21st century is the not only era of information, but also an era of networks. Keep the Internet open and progress to the people in the vast network of information, but also easy to make at the inquiry they need useful and relevant information into confusion. Search engine is
4、the network information in order to satisfy people search the web-based tools come into being, it is the Internet needle navigation information. And baidu, google, yahoo the rise of this type of search engine driven the development of the industry as a whole, but for some strong industry background
5、search has yet to be lagging behind, animation material to search engines is the animation industry in order to address the vacancy.This article first introduced the concept of search engines and the development of the necessary technology, and through in-depth analysis of industry demand and the se
6、arch engines some of the requirements applied to determine the material of the animation features a list of search engines, and then based on the demand to conduct a detailed search engine analysis and design, final design based on the animated material to complete the code search engine. The whole
7、design of the platform for B/S structure, based on the webwork, ibatis, spring to Structures the entire platform, the design of procedures for reptiles is based on open source search engine based on the nutch transformation, through its entire distributed processing platform.Keywords: search engine,
8、 nutch,lucene ,web crawler目 录ABSTRACTII第一章绪论11.1研究背景和意义11.2课题发展方向11.3设计内容31.3.1项目概述41.3.2主要开发技术4第二章动画素材搜索引擎开发需求分析122.1搜索引擎应用领域122.2搜索引擎功能要求12第三章动画素材搜索引擎开发概要设计133.1系统框架分析143.1.1系统整体架构143.1.2动画素材搜索引擎平台架构分析153.1.3搜索引擎架构分析173.2系统总体设计223.3数据库设计25第四章 动画搜索引擎详细设计274.1系统核心算法详细设计274.1.1文本搜索(爬虫算法)274.1.2图片搜索(远
9、程调用)304.1.3索引更新(定时任务)314.2系统功能模块详细设计324.2.1用户搜索324.2.2爬虫基本信息配置334.2.3定时任务器配置344.2.4关键字配置344.2.1数据分析35第五章 动画搜索引擎开发实现365.1系统主要配置365.2系统界面设计385.2.1首页385.2.2爬虫基本配置415.2.3爬虫时间配置435.2.4关键字配置435.2.5用户行为查看445.2.6热点关键字45第六章 结束语47参考文献48致 谢50附录50附件1 毕业设计文献综述50附件2 毕业设计开题报告50附件3 毕业设计外文翻译(中文译文与外文原文)50V第一章 绪论1.1 研
10、究背景和意义随着电脑的普及、网络的延伸,全球信息在不断膨胀,在网络这片信息的海洋中可以通过baidu、google这样的搜索引擎搜索到所感兴趣的信息,然而这类搜索引擎对某一特定的行业支持的力度并不是很好,试着自己去开发这样一套系统,然而没有这样的能力与精力。通过对现有的开源工具的研究,发现NUTCH这个用java语言编写的全文搜索引擎开发包非常适合,它的整个分布式的理念,模块的插件式管理,很适用于改造成专业型的搜索引擎。因为该应用是B/S模式的方式面向互联网,分析目前网络上使用的WEB框架,觉得webwork框架的MVC模式很适合于该WEB应用的开发,因此,基于webwork,ibatis,s
11、pring框架与nutch开发包做了一个动画素材进行检索的WEB应用。1.2 课题发展方向随着信息技术的进步与互联网络的飞速发展,网络上的信息资源是越来越多,在这个浩瀚的网络资源里,要想找到自己需要的资料,必须借助于搜索引擎4 。搜索引擎经过几年的发展和摸索,越来越贴近人们的需求,搜索引擎的技术也得到了很大的发展。搜索引擎的最新技术发展包括以下几个方面: 1、提高搜索引擎对用户检索提问的理解为了提高搜索引擎对用户检索提问的理解,就必须有一个好的检索提问语言,为了克服关键词检索和目录查询的缺点,现在已经出现了自然语言智能答询。用户可以输入简单的疑问句,比如“how can kill virus
12、of computer?”。搜索引擎在对提问进行结构和内容的分析之后,或直接给出提问的答案,或引导用户从几个可选择的问题中进行再选择。自然语言的优势在于,一是使网络交流更加人性化,二是使查询变得更加方便、直接、有效。就以上面的例子来讲,如果用关键词查询,多半人会用“virus”这个词来检索,结果中必然会包括各类病毒的介绍、病毒是怎样产生的等等许多无效信息,而用“how can kill virus of computer?”,搜索引擎会将怎样杀病毒的信息提供给用户,提高了检索效率。 2、对检索结果进行处理 1)基于链接评价的搜索引擎 基于链接评价的搜索引擎的优秀代表是Google,它独创的“链
13、接评价体系”是基于这样一种认识,一个网页的重要性取决于它被其它网页链接的数量,特别是一些已经被认定是“重要”的网页的链接数量。这种评价体制与科技引文索引的思路非常相似1 ,但是由于互联网是在一个商业化的环境中发展起来的,一个网站的被链接数量还与它的商业推广有着密切的联系,因此这种评价体制在某种程度上缺乏客观性。2)基于访问大众性的搜索引擎 基于访问大众性的搜索引擎的代表是direct hit,它的基本理念是多数人选择访问的网站就是最重要的网站。根据以前成千上万的网络用户在检索结果中实际所挑选并访问的网站和他们在这些网站上花费的时间来统计确定有关网站的重要性排名,并以此来确定哪些网站最符合用户的
14、检索要求。因此具有典型的趋众性特点。这种评价体制与基于链接评价的搜索引擎有着同样的缺点。 3)去掉检索结果中附加的多余信息 有调查指出,过多的附加信息加重了用户的信息负担,为了去掉这些过多的附加信息,可以采用用户定制、内容过滤等检索技术。3、确定搜索引擎信息搜集范围,提高搜索引擎的针对性 1)垂直主题搜索引擎网上的信息浩如烟海,网络资源以十倍速的增长,一个搜索引擎很难收集全所有主题的网络信息,即使信息主题收集得比较全面,由于主题范围太宽,很难将各主题都做得精确而又专业,使得检索结果垃圾太多。这样以来,垂直主题的搜索引擎以其高度的目标化和专业化在各类搜索引擎中占据了一系席之地,比如象股票、天气、
15、新闻等类的搜索引擎,具有很高的针对性,用户对查询结果的满意度较高。作者认为,垂直主题有着极大的发展空间。2)非www信息的搜索 提供FTP等类信息的检索3)多媒体搜索引擎 多媒体检索主要包括声音、图像的检索。4、将搜索引擎的技术开发重点放在对检索结果的处理上,提供更优化的检索结果 1)纯净搜索引擎这类搜索引擎没有自己的信息采集系统,利用别人现有的索引数据库,主要关注检索的理念、技术和机制等。2)元搜索引擎 现在出现了许多的搜索引擎,其收集信息的范围、搜索机制、算法等都不同,用户不得不去学习多个搜索引擎的用法。每个搜索引擎平均只能涉及到整个www资源的30-50%(search engine w
16、atch数据),这样导致同一个搜索请求在不同搜索引擎中获得的查询结果的重复率不足34%,而每一个搜索引擎的查准率不到45%2 3。元搜索引擎(meta search engine)是将用户提交的检索请求到多个独立的搜索引擎上去搜索,并将检索结果集中统一处理,以统一的格式提供给用户,因此有搜索引擎之上的搜索引擎之称。它的主要精力放在提高搜索速度、智能化处理搜索结果、个性搜索功能的设置和用户检索界面的友好性上,查全率和查准率都比较高。目前比较成功的元搜索引擎有meta crawler、dopile、ixquick等。1.3 设计内容 在这次的毕业设计中,总共包含两个主要的部分:其一是对文本内容的搜
17、索,其二是对图片的搜索。对于文本搜索的数据源是利用nutch的网络爬虫采集的数据,而对于图片搜索,目前是采用调用google开放的图片搜索API,利用它返回的JSON串进行解析并返回。以下将详细介绍。1.3.1 项目概述 本项目主要利用apache的一个开源开发包NUTCH,来开发一个搜索引擎。搜索引擎底层主要是利用Lucene提供的技术,开发一个用于搜索网站素材的搜索引擎,它可以根据一些关键词搜索图片,flash源码,photoshop相关文件,3D模型等。应用的java语言编写后台的网络爬虫,索引库生成程序,索引库搜索程序和应用velocity页面来编写用户模块的结果显示页面。1.3.2
18、主要开发技术1、 Lucene技术介绍u lucene是什么LUCENE是一个高性能的,可扩展的信息检索工具库。你可以把它融入到应用程序中以增加索引和搜索功能。LUCENE是一个纯JAVA实现的成熟、自由、开源的软件项目;它是备受程序员欢迎的开源组织APACHE JAKARTA的成员项目,基于APACHE软件许可协议的授权。因此,近几年来,LUCENE已经成为最受推崇和青睐的java开源信息检索工具库。LUCENE与其他开源软件一样,有着与生俱来的优点:功能和结构的透明性、功能强大且具有较强的扩展性、技术社区有力的技术支持,以及和源码作者无障碍的技术交流等4。此外,与其他搜索引擎开发包相比,它
19、有如下的特点: API简单易用但功能强大。用户可以很容易地在自己的应用程序中实现包括模糊查询、分组查询等在内的索引、分析功能。 架构清晰,易于扩展和学习。利于用户针对自己的需求扩展系统,并在开发期间迅速发现存在的问题。 强大的索引文件。Lucene的索引文件格式独立于应用平台,使索引文件能够跨平台共享。分块索引文件,通过为新增的文件单独创建索引再合并的方式可获得高速和优化的索引功能。可应用于多种文档格式和多种不同的语言。只要实现了相应接口就可以扩展新的语言和文件格式。当你使用lucene时很快就会发现,它提供了一套简单却十分强大的核心API,而使用他们时并不需要用户对全文索引和搜索的机制有很深
20、的理解。若要把lucene集成到应用程序中,你只需要掌握LUCENE中少数的几个类就可以了。因为LUCENE只是一个java库,对于不同的索引和搜索内容它是通用的,相对于大量其他的搜索程序来说,这是一个很大的优势。刚开始接触LUCENE的人经常会误认为它是类似于文件搜集程序、WEB爬虫或是WEB站点搜索引擎的一个现成的应用程序。但事实上,lucene并不如此:LUCENE只是一个软件库或者说是工具包,它并不具备搜索应用程序的完整特征。它只关注于文本的索引和搜索,并能够出色地完成这些工作。LUCENE用简单易用的API隐藏了复杂的索引和搜索操作的实现过程,因此可以使应用程序专注于自身的业务领域5
21、 6。所以你可以将LUCENE视为应用程序之下的一个接口层,如图1.1所示。索引库索引文件索引文件接口层获得用户的请求收集数据应用程序层文件系统数据库网页手工录入呈现搜索结果用户图1.1 一个集成LUCENE的典型应用程序u lucene能做什么通过使用lucene,你可以为应用程序添加索引和搜索功能,lucene能够对任意可转换为文本格式的数据进行索引和搜索。Lucene并不关心数据的来源、格式,甚至文件使用什么自然语言都没有关系,只要可以把它转换成文本格式。也就是说你可以用LUCENE来索引、搜索存放在文件中的诸如以下的数据:远程WEB服务器上的网页,本地文件系统中的文档、简单的文本文件、
22、WORD文档、HTML或者PDF格式的文件,或者其他一切能够从中提取文本信息的数据格式。同样地,你还可以利用LUCENE来索引存储在数据库中的数据,从而使应用能够为用户提供其他很多数据库所不具备的全文索引搜索的功能。而一旦应用程序集成了LUCENE用户就可以进行如+George +Rice eat pudding,Apple -pie +Tiger,animal:monkey AND food:banana 等有着复杂查询条件的搜索。利用LUCENE,你可以为诸如电子邮件消息、归档的邮件列表、即时聊天消息、Wiki(一种提供共同创作环境的网站,每人都可以任意修改网站上的页面数据)页面-很多类型
23、的数据建立索引,并进行搜索工作5 6。Lucene作为一个优秀的全文检索引擎,其系统结构具有强烈的面向对象特征。首先是定义了一个与平台无关的索引文件格式,其次通过抽象将系统的核心组成部分设计为抽象。类,具体的平台实现部分设计为抽象类的实现,此外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式的处理,最终达成了一个低藕合高效率,容易二次开发的检索引擎系统以下将讨论Lucene系统的结构组织,并给出系统结构与源码组织图,如图1.2所示。图 1.2 Lucene系统结构与源码组织结构图从图中我们清楚的看到,Lucene的系统由基础结构封装、索引核心、对外接口三大部分组成。其中直接操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 动画素材 搜索引擎
链接地址:https://www.31ppt.com/p-4857343.html