欢迎来到天天文库
浏览记录
ID:32032233
大小:2.96 MB
页数:82页
时间:2019-01-30
《【硕士论文】基于JAVA的源代码搜索引擎架构实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、摘嗄摘要互联网技术高速发展,互联网上的信息浩如烟海,人们更多习惯于在互联网上寻找自己的需求,如何更加有效的在互联网中获取需要的元素,就需要索引的帮助,目前的Web索引引擎技术正成为计算机科学界和信息产业界争相研究开发的对象。搜索引擎是指在互联网上专门提供查询服务的一类网站,这些网站通过网络搜索软件或网站登陆等方式,收集互联网上大量网站的页面,经过加工处理后建库,从而能够对用户提出的各种查询作出响应,提供用户所需的信息。本文利用开源的Lucene引擎架构设计并实现了一个可复用、.可扩展的搜索引擎系统Hicode,能够用来专门搜索web和本地数据中具有程序语言源代码的文件,能够有效的定位用户所
2、需要的某段程序源码及其源文件所在的位置。本文先介绍了Lucene以及搜索引擎系统中要用到的开源工具。然后利用Java技术对搜索引擎的三个核心部分即爬虫、索引和搜索进行了实现。爬虫部分采用了Java的多线程机制,使用线程池管理多个抓取线程,并发抓取网页。索引和搜索部分利用Lucene引擎架构,实现了比Lucene自定义的中文分词更有效的中文分词。最后给出了如何将源代码搜索引擎集成到Liferay门户网站中,提供一个与用户交互的界面。关键词:搜索引擎;Lucene;中文分词;线程;Liferay门户北京T业人’≯T行fi
3、j:1.’≯f?i论史AbstractThecontentsontheW
4、ebareincreasingexponentiallyastherapiddevelopmentoftheIntemet.TheproblemofhowtoobtaintheusefulinformationfromvastcontentsquicklyandaccuratelyisfacingUSwhilepeopleareenjoyingtheconvenienceoftheInternet.ThesolutionofthisproblemisWebSearchEngine.Nowdays,thethrivingofresearchonWebSearchEngineisakindof
5、specialwebpageavailableforInternetinformationretrieving.ItcollectsvariouswebpagesthroughrobotscalldeCrawler,andstorestheinformationgintodatabasesaftertheoriginalWebSearchEnginesearchstheindexesinitsdatabaseandfetchesrelativewebpagesfortheuser.Areuseable,extensiblesearhenginesystemwhichnameisHicode
6、thathasbeenimplementdebyopen—sourcepakagenamed‘Lucene’.Itcallsearchthesourcecodefilewhichexistsinwebandlocalsystem.ItCanalsoeasilylocatethesegmentofsomesourcecodeandthepositionoftheoriginfile.TheLucenepakageandopen-souretoolswhichusedbyHicodesearchenginesystemisintroducedfirst.Thenthreebasiccompon
7、ents(Crawler,IndexerandSearcherareimplementdebyjavatechonology.TheCrawlercomonentisdesignwithmulti-threadtechonologybyusingthread—pooltomanagethecrawlthread,SOthecrawlercallparallellycrawlsthewebpages.ThecomponentsofIndexerandSearcherareusingtheLuceneframework.AnChineseWordSegmenterwhichismoteeffe
8、ctivethanLucene’SoriginalsegmenterWasimplemented,TheserializationtechonologywhichcanimprovetheeffcientofindexingisusedbytheHicodeframework.TheJavaCCtoolisusedtoimprovethespeedofdevelopment.Atlast,theHicode’Sinteg
此文档下载收益归作者所有