全文搜索引擎的设计与实现-毕业论文.doc
江汉大学本科毕业论文(设计)I作者声明本人郑重声明所呈交的学位论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全了解有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理机构送交论文的复印件和电子版。同意省级优秀学位论文评选机构将本学位论文通过影印、缩印、扫描等方式进行保存、摘编或汇编;同意本论文被编入有关数据库进行检索和查阅。本学位论文内容不涉及国家机密。论文题目全文搜索引擎的设计与实现作者单位江汉大学数学与计算机科学学院作者签名XXX2013年5月20日江汉大学本科毕业论文(设计)II学士学位论文论文题目全文搜索引擎的设计与实现(英文)FULLTEXTSEARCHENGINEDESIGNANDIMPLEMENTATION学院数学与计算机科学学院专业计算机科学与技术班级B09082021姓名XXX学号200708202137指导老师YYY2013年5月20日江汉大学本科毕业论文(设计)III摘要目前定制和维护搜索引擎的需求越来越大,对于处理庞大的网络数据,如何有效的去存储它并访问到我们需要的信息,变得尤为重要。WEB搜索引擎能有很好的帮助我们解决这一问题。本文阐述了一个全文搜索引擎的原理及其设计和实现过程。该系统采用B/S模式的JAVAWEB平台架构实现,采用NUTCH相关框架,包括NUTCH,SOLR,HADOOP,以及NUTCH的基础框架LUCENE对全网信息的采集和检索。文中阐述了NUTCH相关框架的背景,基础原理和应用。NUTCH相关框架的出现,使得在JAVA平台上构建个性化搜索引擎成为一件简单又可靠的事情。NUTCH致力于让每个人能很容易,同时花费很少就可以配置世界一流的WEB搜索引擎。目前国内有很多大公司,比如百度、雅虎,都在使用NUTCH相关框架。由于NUTCH是开源的,阅读其源代码,可以让我们对搜索引擎实现有更加深刻的感受,并且能够更加深度的定制需要的搜索引擎实现细节。本文首先介绍了课题研究背景,然后对系统涉及到的理论知识,框架的相关理论做了详细说明,最后按照软件工程的开发方法逐步实现系统功能。关键词NUTCH、SOLR、HADOOP、LUCENE、搜索引擎江汉大学本科毕业论文(设计)IVABSTRACTCURRENTLY,THEREQUIREMENTOFCUSTOMIZINGANDTHESEARCHENGINEMAINTENANCEISLARGERANDLARGERFORDEALINGWITHSUCHENORMOUSNETWORKDATA,ESPECIALLY,HOWTOSTOREITANDACCESSOURNECESSARYINATIONHASBECOMESOSIGNIFICANTHOWEVER,WEBSEARCHENGINECANHELPUSTOSOLVETHISPROBLEMWELLTHISACTICLEDESCRIBESTHEPRINCIPLEOFFULLTEXTSEARCHENGINE,ANDTHEPROCESSFORITSDESIGNANDIMPLEMENTATIONTHISSYSTEMADOPTSJAVAWEBPLATWITHB/SMODEL,ANDALSOTHERELATIVEFRAMEOFNUTCH,INCLUDINGNUTCH,SOLR,HADOOP,ANDCOLLECTIONANDINSPECTIONFORWHOLENETWORKINATIONBASEDONLUCENETHEFOUNDATIONOFNUTCHALLINALL,THISTEXTMAINLYELABORATESTHEBACKGROUDOFRELATIVEFRAME,BASICALPRINCIPLE,ANDAPPLICATIONFORNUTCHTHEAPPEARANCEOFNUTCHRELATEDFRAMEWORK,MAKESTHATBUILDINGANPERSONALIZEDSEARCHENGINEBASEDONJAVAPLATTOBEANSIMPLEANDRELIABLEWAYNUTCHISCOMMITTEDTOMAKEEVERYONECONFIGUREAWORDCLASSWEBSEARCHENGINEEASILYANDLOWCOSTLYATPRESENT,THEREAREMANYBIGCOMPANIESATHOME,LIKEBAIDU,YAHOO,AREUSINGSUCHNUTCHRELATIVEFRAMEDUETOTHEFACTTHATNUTCHISOPENSOURCE,READINGITSSOURCECODECANLETUSHAVEAMOREPROFOUNDEXPERIENCEWHENREALIZINGTHESEARCHENGINE,ANDATTHESAMETIME,CANCUSTOJMIZETHENEEDEDDETAILSFORREALIZINGTHESEACHENGINEDEEPLYATFRIST,THISARTICLEINTRODUCESTHEBACKGROUNDOFRESEARCHPROJECTTHEN,ITSPECIFICALLYDESCRIBESTHETHEORETICALKNOWLEDGEOFSYSTEMANDTHERELATEDTHEORYOFFRAMEWORKFINALLY,ITACHIEVESTHESYSTEMFUNCTIONSTEPBYSTEPACCORDINGTOTHEDEVELOPMENTOFSOFTWAREENGINEERINGKEYWORDSNUTCH、SOLR、HADOOP、LUCENE、SEARCHENGINE江汉大学本科毕业论文(设计)V目录1绪论111课题背景及介绍112课题研究目的及应用113课题研究范围114小结22搜索引擎相关理论研究321WEB搜索引擎原理和结构3211搜索引擎三段式工作流程3212搜索引擎整体结构422网页收集5212爬虫的工作流程5213爬虫的抓取策略5214链接数据库的建立6215链接数据库的更新623网页预处理6231建立索引页面库7232分词9233倒排索引1024查询服务12241查询方式和匹配12242结果排序13243文档摘要1425小结153NUTCH相关框架研究1631LUCENE研究16311LUCENE概述16312LUCENE如何对索引进行搜索16313LUCENE增删改索引的API1732NUTCH研究21321NUTCH概述21322研究NUTCH的原因21323研究NUTCH的目标22324NUTCH和LUCENE比较22325NUTCH常用命令2233SOLR研究28331SOLR概述28332SOLR索引28江汉大学本科毕业论文(设计)VI333SOLR搜索29334LUCENE索引查看工具LUKE3134HADOOP研究32341HADOOP概述32342HADOOP单机本地模式34343HADOOP单机伪分布式模式3435小结364全文搜索引擎系统分析与技术选型3741系统目标需求3742系统功能项3743可行性分析与决策3