《网站站内搜索引擎课程设计报告一.ppt》由会员分享,可在线阅读,更多相关《网站站内搜索引擎课程设计报告一.ppt(18页珍藏版)》请在三一办公上搜索。
1、网站站内搜索引擎课程设计报告一需求分析报告1.封面及个人贡献的分解,a)i.ii.iii.iv.,第一页课程名称高级软件工程项目名称中科院网站站内搜索引擎提交日期项目组成员列表,小组成员均为软件所学生,学号200928015029038200928015029047200928015029041200928015029012200928015029046200928015029017,姓名许利杰赵占平张灿高蕾赵鑫李奇原,手机号152109096471500127025415210631362152109021771521090217015210909712,邮箱,i.,b),第二页个人贡献分解
2、表,成员,小组成员姓名,职责,许利杰,赵占平,张灿,赵鑫,高蕾,李奇原,2:项目管理(10),80%,10%,10%,3:用户需求说明(7)4:术语表(3),50%,100%,25%,25%,5:功能需求详述(40),20%,20%,20%,20%,20%,6:非功能需求(6),30%,70%,7:领域分析(20)8:用户界面设计(10),70%,20%10%,30%,30%,20%20%,9:工作计划(3)10:参考文献(1),100%,100%,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,2.目录,目录,网站站内搜索引擎课程设计报告一.1需求分析报告.1,封面及个人贡献的
3、分解.1目录.3用户需求说明.4术语表.5功能需求详述.5非功能需求.13领域分析.14用户界面设计.17工作计划.17参考文献.18,。,。,3.用户需求说明,a)项目背景,目前高校网站或者一般网站中使用的站内搜索引擎基本有三大类:一种是使用 Google,的站内搜索引擎服务(由 Google Search Appliance 驱动)(如:清华大学、上海交大、浙江,大学等等)。一种是使用原始的文件索引技术,类似于在 word 中查找关键字的方法对文档进行搜索,因此只能搜索一些办公通知(如:中科院研究生院)。最后一种是只能搜索校内各个下属网站主页(如:武汉大学,相当于查询一个主页名字和网站地址
4、的映射表)后两种不能称之为真正意义上的站内搜索引擎。,比较特殊的是北京大学的站内搜索使用了自己开发的天网搜索引擎,属于真正意义上的,站内搜索引擎。,b)项目目的,针对中科院旗下网站,部署一个类似 Google 站内搜索和北大天网搜索引擎的站内式搜索引擎。用户通过输入关键字能够检索到内容相关的站内网页及图片、文档等多种文件,并能够对结果进行排序、分类和整理,最终通过浏览器将结果返回给用户。,c)已有的解决方法,从目前调查结果来看,北大天网搜索引擎返回结果中不能直接提供 MS word、pdf 等文件的直接链接,Google 站内搜索可以(通过点击返回的结果标题,可以直接下载 doc、pdf等文件
5、)。但 Google 站内搜索没有提供网页快照功能,天网提供了。,其他高校如华中科技大学的站内搜索也能够对站内的网页进行搜索,但是也只能处理网,页,不能处理其他类型的文件。中科院以后的站内搜索也是同样的情况。,除了 Google 的站内搜索服务,目前另一位比较优秀的站内搜索引擎是基于开源检索工具改造和搭建的。如:美国俄勒冈州立大学的站内搜索引擎(http:/search.oregonstate.edu/)。,不仅能够对校内网页进行索引,而且能够对内容进行分类检索,支持多类型文件的检索。,d)具体用户需求,首先,站内搜索引擎是一个大型网站提供的一种网络服务,是为了方便用户快速检索到,自己想要访问
6、的网页或文件。因此在网站首页应包含简洁、醒目的搜索框,用户直接在搜索框中键入查询关键字,点击确认或回车后,网站应能够快速响应请求,并将符合用户搜索的结果通过网页形式反馈给用户。其次,用户希望返回结果中,除了相应结果的链接,还要有对网页的简单摘要,如商业搜索引擎中一般有 3 到 4 行对搜索结果的描述,便于用户鉴别是否是自己想要访问的链接。另外,返回的结果应该按照查询关键词的相关度排序,越符合查询要求的应该放的越靠前。第一页显示 10 条左右的查询结果,如果过多的查询结果放在同一页,会令用户感觉复杂繁多。如果查询结果多于 10 条,可以让用户通过点击下一页等方式来访问。再次,站内搜索引擎要能够定
7、期自动更新,因为不断地有新的网页或者文件加入到网站中,定期更新搜索结果,能够保证用户能够及时地通过站内搜索引擎访问到新加入的资源。最好还能够提供网页快照功能,便于用户快速访问已经关闭或者暂时不能访问的网页。4.术语表爬虫:将web网页自动下载到本地的网络程序。URL:统一资源定位符(英语Uniform Resource Locator的缩写)也被称为网页地址,是因特网上标准的资源的地址。分词:将一段文字分割成一组符合日常用语的词语。类别词:对网页分类起作用的关键词。布尔查询:说明各个关键词是否要在查询结果中出现,“+”表示出现,“-”表示不出现。5.功能需求详述a)利益相关者(stakehol
8、ders)需要提供站内搜索引擎服务的网站所有者b)角色(Actors)和目标(Goals)在本系统中角色主要是一般用户(通过 web 来使用站内搜索服务),类型是参与者,主要参与系统功能需求描述和系统测试。另外一个角色是网站管理员,管理员负责将开发好的系统部署到网站上,配置搜索引擎所需配置文件,并监控和维护系统运行。c)用例(Use Cases),i.,简要描述用户输入关键词查询:用户可以按照不同的格式来输入关键词,不同的格式代表对搜索结果的不同要求,,。,这样可以筛选出用户想要的搜索结果。管理员配置搜索引擎配置文件:管理员通过配置包含搜索引擎运行所需参数的配置文件来控制搜索引擎的相关功能。管
9、理员部署和更改索引文件:管理员需要部署搜索引擎的 web 应用到 web 容器上,从而使用户可以通过 web 方式来访问搜索引擎。管理员也可以更改索引文件的路径,从来让搜索引擎搜索不同的索引文件。用户分类检索:针对不同的用户需求,提供不同的标签,用户可以选择搜索网页、搜索院内人员信息、搜索招生或者科研信息,这样可以使结果更具有领域相关性和准确性。,ii.,完整描述,用户输入关键词查询:1、普通多关键词查询:只输入关键词,关键词之间不用空格隔开,表示采用系统默认分词方式分隔关键词;用空格隔开表示按照用户指定的分词方式分词。2、精确查询:输入带有引号的关键词,如“Chinese Academy o
10、f Sciences”,表示精确匹配引号内的关键词,引号内的关键词不被分词。3、大小写不敏感查询:输入的英文单词不区分大小写,如“Beijing”等同于“beijing”4、布尔查询:在关键词前面加上“+”表示出现搜索结果要出现关键词,加上“-”表示不出现关键词管理员配置搜索引擎配置文件:1、url 过滤策略设置:通过定义网络爬虫抓取网页的 url 过滤策略来限制爬取网页的类型,其语法与正则表达式大致相同,以”+”表示接受后面定义的地址类型,”-”表示拒绝。如果只想让爬虫抓取 url 中含有 的网页,可如下定义:+http:/.*起始 url 设置:起始 url 地址是让爬虫从该地址开始抓取网
11、页并处理信息。如可从以下地址开始抓取:http:/爬取设置:设定爬虫网络延时的线程等待时间、爬虫抓取文档内容长度的最大值和自动爬取间隔时间等配置信息。4、索引设置:设定每个文档的最大字段数和设定合并因子等配置信息。管理员部署和更改索引文件:,iii.,1、部署引擎:管理员把搜索引擎的 Web 应用部署到 Web 容器下,以使最终用户可以通过,Web 方式访问。,2、修改引擎:管理员可以替换搜索引擎所需的索引文件,在不改变上层应用的情况下,更,改底层的索引文件相当于更改搜索引擎的查询内容。,用户分类检索(根据时间安排,如果时间充足,可以考虑实现),搜索引擎提供分类检索功能,其中有首页有 4 个标
12、签,分别为:网页、人员、招生、科,研。不同的标签提供更为详细和准确的搜索结果。,1、网页检索:与“用户输入关键词查询”的用例一致。,2、人员检索:检索中科院内相关人员介绍和与该人员相关的网页信息。,3、招生检索:检索最新和历史招生信息,招生信息来自中科院研究生院的各个院系和中科,院所属的各个研究所。,4、科研检索:主要检索最新的科研进展和状态新闻,以及目前承担的项目和发表的论文等,信息。,用例图(Use Case Diagram),普通多关键词查询精确关键词查询,关键词查询,一般用户大小写不敏感查询布尔查询图 1 用户查询用例图,起始URL设置,配置搜索引擎,URL过滤规则设置,管理员,爬虫相
13、关设置,索引策略设置图 2 管理员配置搜索引擎配置文件图部署搜索引擎管理员修改索引文件图 3 管理员部署和更改索引文件图,检索人员信息建立类别词典,管理员,检索招生信息,网页分类,获取网页特征信息检索科研信息图 4 用户分类检索图d)系统序列图(System Sequence Diagrams)用户分类检索,webInputTextArea,wordAnalyzer,Indexseacher,index,一般用户keywordwordAnalyze()wordSearch()indexSearch()docIndex(),Result,sortedDocument图 5 用户查询序列图,管理员
14、配置搜索引擎配置文件,configureFile,crawler,startURL,URLfilter,indexConfig,管理员configureFileswhichFilespecifyFileconfigureCrawler()configureURL()configureURLStrategy()configureIndex()done图 6 管理员配置搜索引擎配置文件序列图,管理员部署和更改索引文件,管理员,deploySearcher,index,alt,deploy,specifyIndexPath,deploy()donemodifyIndexmodifyIndexAttr
15、indexAttributedeploy()图 7 管理员部署和更改索引文件序列图,用户分类检索,personSearch,admission,research,classification,Dictionary,pageFeature,管理员inputKeywordclassifyPage()searchDict()dictionaryIndexserachFeature(),classifieddPage,pageMetaInfo,sortedPageAs same as aboveAs same as above图 8 用户分类检索序列图6.非功能需求为了保证系统能够长期、安全、稳定、可
16、靠、高效的运行,系统应该满足以下的性能需求:系统的易用性和易维护性搜索引擎直接面对终端客户,这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。另外,系统要提供方便的手段供系统维护人员进行日常的管理。系统的开放性和可扩充性本项目在开发过程中,应充分考虑以后的可扩充性。例如对于 doc、pdf 文件的解析处理等工作是要不断完善和更新的。这些要求系统提供足够的手段进行功能调整和扩充。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,可以
17、通过简单的加入和减少系统的模块来更新系统,而不必在原有系统上大费周折。系统的响应速度响应速度指用户检索时提交关键字后等待系统回复的时间。用户提交检索内容后,系统,应尽快匹配查找,返回相关内容,响应速度是搜索引擎系统的一个重要性能指标。系统的检索质量检索质量指用户期望检索内容与系统实际返回内容的匹配程度。搜索引擎系统作为帮助用户查找特定信息的工具,检索质量直接反应了搜索引擎的实用性程度,是考量一个搜索引擎系统的重要标准。,系统的健壮性,对于用户不规范的操作,系统应提供足够的容错能力,在最大程度上不影响用户正常使用。对于系统运行过程中自身产生的错误,应保留相关错误信息以供后续的修改维护工作。系统的
18、查全率和查准率查全率和查准率是考虑评价网页自动分类算法需要两个重要指标:查全率指通过分类算法被正确分类的文本数目与未分类文本前属于该类的文本数总数的比率,查准率为通过分类算法被正确分类的文本数目与通过分类算法被分为该类的文本数目的比率。7.领域分析,爬虫爬取策略,爬虫的工作策略一般则可以分为累积式抓取(cumulative crawling)和增量式抓取(incremental crawling)两种。累积式抓取是指从某一个时间点开始,通过遍历的方式抓取系统所能允许存储和处理的所有网页。在理想的软硬件环境下,经过足够的运行时间,累积式抓取的策略可以保证抓取到相当规模的网页集合。但由于 Web
19、数据的动态特性,集合中网页的被抓取时间点是不同的,页面被更新的情况也不同,因此累积式抓取到的网页集合事实上并无法与真实环境中的网络数据保持一致。增量式抓取是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取到的数据与真实网络数据足够接近。进行增量式抓取的前提是,系统已经抓取了足够数量的网络页面,并具有这些页面被抓取的时间信息。一般地,累积式抓取一般用于数据集合的整体建立或大规模更新阶段;而增量式抓取则主要针对数据集合的日常维护与即时更新。在确定了抓取策略之后,如何从充分利用网络带宽,合理确定网页数据更新的时间点就成了网络蜘蛛运行策略中的核
20、心问题。总体而言,在合理利用软硬件资源进行针对网络数据的即时抓取方面,已经形成了相对比较成熟的技术和实用性解决方案,这方面目前所需解决的主要问题,是如何更好的处理动态网络数据问题(如数量越来越庞大的 Web2.0 数据等),以及更好的根据网页质量修正抓取策略的问题。建立初始 URL 集合分析初始 URL 集的建立有两种方式:超链接和站长提交。,超链接是指机器人程序根据网页链到其他网页中的超链接,从少数几个网页开始,连到数据库上所有到其他网页的链接。理论上,若网页上有适当的超链接,机器人便可以遍历绝大部分网页。站长提交是指在实际运行中,爬虫不可能抓取到所有站点,为此,网站站长可以向搜索引擎进行提
21、交,要求收录,搜索引擎经过核查之后,便将该网站加入到 URL 集合中,进行抓取。,爬取过程,在爬取过程中,要维护一个爬取链接数据库,该库中存有等待爬取的链接信息。Inject 操作:爬虫将 URL 集合进行格式化和过滤,消除其中的非法 URL,并设定 URL状态,按照一定方法把 URL 集合进行初始化分值。期间,要将某些 URL 进行合并,以消除重复的 URL 入口。当有新的 URL 信息时,将其状态等信息存入爬取链接数据库,与原数据库中重复的则删除旧数据,更换为新数据。Generate 操作:该操作从抓取链接数据库中将 URL 取出并进行过滤;通过域名、链接数等信息对 URL 进行排序;将排
22、序后抓取列表信息保存。Fetch 操作:该操作按照抓取列表进行链接抓取,在抓取过程中,页面的 URL 地址肯能因为链接发生改变,则需要更新 URL 地址;可采用多线程方式提高抓取速度;抓取过程中调用parse 操作。Parse 操作:该操作解析 fetch 得到的页面并进行整理,将页面信息按照页面的主题、链接等信息和页面的文本内容分别保存。Updatedb 操作:该操作根据 parse 操作保存的内容,对抓取链接数据库进行更新,增加新的URL,更换旧的 URL。,索引过程分析,在索引之前,首先将数据转换成纯文本格式,这就要求系统能够对 html 文件以外的文件进行解析,如 doc 文件、pdf
23、 文件等。格式转换后,还需要进行预处理,对数据进行分析使之更加适合被索引。分析数据时,先将文本数据分成一些大块的字符流,然后对它们执行一些操作,如去掉一些无实际意义的词(停止词),而后对数据进行分词操作。分词在索引和搜索时都会用到。对输入的数据处理完成之后,就可以把结果采用“倒排索引”的方式写入到索引文件中。,分词技术分析,信息检索的基础是对文本的分析。对文本分析的最主要的处理就是能够对完整的语句进行分词。分词,即将一段文本拆分成多个词单元。在建立索引的时候,写入索引并能够被用户检索的是一个个的词条,所谓词条即通过分词处理后的文本。因此对于用户的检索输入也需要进行分词,这样可以让信息检索系统更
24、贴切的理解用户的检索请求,进而为其搜索相关内容。对于中文分词,有以下一些处理方法。,单字分词:将中文语句划分成一个字来处理。双字分词:将中文语句划分成两两的词语来处理。词库分词:基于一些已知词汇对中文语句进行断句分词处理。本 项 目 采 用 中 科 院 计 算 所 的 汉 语 词 法 分 析 系 统 imdict-chinese-analyzer,imdict-chinese-analyzer 是基于 imdict 智能词典的智能中文分词模块,算法基于隐马尔科夫模型,可以直接为 Lucene 搜索引擎提供中文分词支持。,网页排序,用户提交检索请求后,服务器将以一定次序返回与用户请求匹配的结果,
25、优先将最相关的内容呈现给用户。最简单的一种排序方式为相关度排序。所谓相关度,就是文档的得分。Lucene 计算文档得分的方法如下:score=sum(tf(t in d)*idf(t)*boost(t.field in d)*lengthNorm(t.field in d)其中 score 表示文档得分,sum 表示对于每个词条的求和,t 表示词条,d 表示用户检索关键字,tf(t in d)表示检索的词条在某个文档中总共出现的次数,idf(t)表示反转文档频率,通过包括当前检索的词条的文档总数与索引中总共的文档数量的比值计算,boost(t.field in d)表示词条的激励因子,一般默认
26、为 1,lengthNorm(t.field in d)表示词条的长度。Nutch 使用了 OPIC 作为默认的 URL 调度策略,但是当前版本的 OPIC 实现与 Abiteboul在论文提出的 OPIC 并不完全相同,具体表现为:Nutch 中并没有区分当前页面的 cash 和在计算过程中页面 i 累计收到的 cash 的总数,使用score 一个变量记录页面累积的分数,在分配过程中也是将这个累积的分数全部平均分配给子页面,分配完毕后分数也并不清零。Nutch 中并没有 virtual root page,也就是说叶子页面(即没有 outlink 的页面)的分数将会丢失。另一方面,Nutc
27、h 的排序算法针对的是 Internet 上大量网页的情况,而对于像站内搜索这种页面内容重复度小、某些常用关键词(如:中科院)在各个网页出现频率较高,以至于可以降低这个关键词的权值的情况,需要对算法进行相应修改。,8.用户界面设计输入框是用户输入关键字的地方,上面的标签是用于用户分类查询的,帮助是介绍搜索引擎的使用方法的。9.工作计划项目由 10 月 11 日开始,共 16 周,1:可行性分析 部署 nutch(全体)2:可行性分析 部署 nutch(全体),学习搜索原理(全体)学习搜索原理(全体),3:需求,分词功能分析(赵鑫)索引过程分析(许利杰)搜索结构分析(张灿)文本分类(高蕾)界面及
28、结果排序(李奇原),4:需求5:需求6:需求 分析7:需求 分析,爬虫功能(赵占平)分词功能分析(赵鑫)搜索结构分析(张灿)爬虫功能(赵占平)导入中文分词包(赵鑫)爬取策略(赵占平)导入中文分词包(赵鑫)爬虫结构(赵占平)分词结构分析(赵鑫),索引过程分析(许利杰)索引结构分析(许利杰),8:分析,查询结构(张灿),分类结构(高蕾),9:分析 设计,网页排序(李奇原)内容分类分析(高蕾),10:分析 设计11:设计 编码12:设计 编码,搜索过程(张灿)分词引入(赵鑫)累积抓取(赵占平)分词引入(赵鑫),分析文档建立(许利杰)排序算法引入(李奇原)建立索引结构(许利杰)排序算法引入(李奇原)建
29、立索引结构(许利杰),内容分类(高蕾),13:设计 编码14:编码,增量抓取(赵占平)搜索过程(张灿)搭建用户界面(李奇原)增量抓取(赵占平),15:编码16:测试,完善查询过程(全体)功能性测试(全体),功能集成(全体),10.参考文献1Ian Sommerville:软件工程(第8版),机械工业出版社2Requirements analysis,URL:http:/en.wikipedia.org/wiki/Software_requirements_analysis3IEEE recommended practice for software requirements specifications,IEEE Std 830-1998,URL:http:/ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=720574&isnumber=155714UML 用例图.http:/序列图详解.http:/IBM Rational Edge.http:/in Action.Erik Hatcher.Manning Press8Nutch.http:/lucene.apache.org/nutch/9林晓明.搜索引擎技术原理及系统.科学出版社,
链接地址:https://www.31ppt.com/p-2669884.html