基于Solr的搜索引擎研究与实现Word文档格式.docx
- 文档编号:13818006
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:49
- 大小:570.54KB
基于Solr的搜索引擎研究与实现Word文档格式.docx
《基于Solr的搜索引擎研究与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Solr的搜索引擎研究与实现Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
搜索引擎;
爬虫;
中文分词
Abstract
Withtheadventoftheinformationera,people'
slives,study,workandentertainmenthavebeenfullyintegratedwithinformationtechnology.WiththeparticipationofthemassesontheInternetandincreaseinthenumberofinformation-basedenterprises,theamountofinformationhasbecomeseveraltimesasbefore.Howtogetusefulinformationquicklyandaccuratelyhasbecomeanimportantthingtoeveryone.Forthesmallandmedium-sizedenterprises,howtodevelopitsownmessageretrievalsystemquicklyandcheaplyisessentialforthegrowthofenterprises.
Inthispaper,weintroducethebasicprinciplesofsearchengineandanalysesanumberofcoretechnologies.IalsointroduceLucenesearchenginetools,itsbasicframeworkandhowtouseit.WeanalysesSolr,whichisanopensourcesearchenginebasedonLucene,anditsarchitecture,code,configuration.Atlast,wedesignandimplementasimplemulti-databasesearchenginebasedonSolr1.3.
Keywords:
Lucene;
Solr;
SearchEngine;
Spider;
ChineseWordSegmentation
目录
第一章前言5
1.1绪论5
1.2开源搜索引擎研究的意义和现状7
第二章中文搜索引擎关键技术8
2.1搜索引擎基本结构8
2.2中文分词10
2.3相关排序13
2.4搜索引擎响应速度17
2.5网络蜘蛛18
第三章开源搜索引擎Solr20
3.1搜索引擎包Lucene20
3.1.1Lucene简介20
3.1.2Lucene与Solr的关系20
3.1.3Lucene的结构21
3.1.4Lucene的使用22
3.1.5Lucene的评分公式26
3.1.6Lucene的搜索结果排序27
3.2Solr的介绍28
3.2.1Solr的特点与优势28
3.2.2Solr1.3的新特性29
3.3Solr的配置和使用29
3.3.1Solr1.3服务器的部署29
3.3.2Solr1.3体系结构图30
3.3.3solr.xml配置文件31
3.3.4schema.xml配置文件31
3.3.5solrconfig.xml配置文件33
3.3.6查询HTTP接口参数36
3.4Solr1.3的核心机制36
3.4.1内核调用机制36
3.4.2分库机制37
3.4.3缓存机制37
第四章基于Solr的搜索引擎总体设计39
4.1设计背景和原则39
4.2整体结构与模块关系39
第五章基于Solr的搜索引擎详细设计与实现41
5.1网络蜘蛛模块的设计与实现41
5.2NewAPI模块的设计与实现42
5.3管理模块的设计与实现43
5.4配置文件的配置43
5.5分词模块的设计与实现44
5.6查询模块的设计与实现45
第六章结论47
参考文献48
致谢49
第一章前言
2
2.1
1.1绪论
随着信息技术的不断发展和人民对信息技术需求的不断增加,世界各国都在经历着前所未有的信息革命。
国家的发展离不开信息化,企业的发展离不开信息化,个人的工作、生活、学习和娱乐更是离不开信息化。
今日的中国也在跟随时代的步伐向着信息时代迈进,而且呈现出巨大的生机与活力,这是一个庞大的市场。
信息革命的深入必然带来信息的爆炸性增长。
据中国互联网信息中心(CNNIC)统计,截止2008年12月31日,中国已有网民数量2.98亿,网站287.8万个[18]。
如此巨大的信息聚集必然导致有效信息获取的难度增强和垃圾信息量增加。
于是,快速精准地获取有用信息的工具应运而生。
通用的搜索技术有数据库技术和搜索引擎技术,文献3[3]中比较了两者的差别。
搜索引擎是信息检索的工具,因此对搜索引擎的研究应属于信息检索的分支。
搜索引擎是帮助用户快速精准地从庞大的信息体中搜索到所需信息的工具,其诞生至今不过10多年的时间而已,不过其发展却非常迅速。
表1-1总结搜索引擎发展历史上一些具有里程碑意义的事件,以求从整体上了解搜索引擎的发展历史。
表1-1搜索引擎发展大事记
1990年
麦吉尔大学学生发明Archie
只是一个可以搜索的FTP文件名列表,用户通过输入精确的文件名来查询哪个FTP站点可以获得该文件
1993年
MartinKoster发明了ALIWEB
Archie的HTTP版本,靠主动提交信息来建立链接索引,类似Yahoo!
斯坦福大学学生发明Excite
分析字词关系,以对互联网上信息做更有效的搜索
1997年
卡耐基梅隆大学的MichaelMauldin创建了Lycos
第一次在索引程序中接入了spider程序;
除相关度排序外,还提供了前缀匹配和字符相近限制;
第一次使用了网页自动摘要
1998年
Google诞生
Google在Pagerank、动态摘要、网页快照、DailyRefresh、多文档格式支持、地图、股票、词典、寻人等集成搜索、多语言支持、用户界面等功能上带来革新
国内搜索引擎的研究相对国外较晚,不过搜索引擎在国内仍然取得了不少成绩。
研究领域,北京大学开发出北京大学天网搜索引擎,并提出中文搜索引擎研发的许多方法和思想(文献8[8]有相关介绍)。
在商业领域,XX已经成为了世界上使用人数最多的中文搜索引擎。
有学者认为:
现代搜索引擎建立在互联网和诸多计算机技术之上,所以很难将搜索引擎的缘起与哪个具体的产品对应起来[1]。
而且,在搜索引擎的发展演化过程中,出现过许多不同种类的搜索引擎,谢新洲主编的《网络信息检索技术与案例》[2]一书中按照信息组织方式将搜索引擎分成如下三类。
(1)目录式搜索引擎
目录式搜索引擎依靠人工发现信息,并依靠标引人员自身的知识对信息进行分类、提取主题词、建立关键字索引和目录分类体系。
用户可以通过两种方式来使用。
一种是浏览查询,从最高层目录开始,顺着目录树逐层深入,直到找到所需信息为止;
另一种是通过关键词检索。
这类搜索引擎具有检索效率高的有点,但索引建立的效率却比较低,信息更新也比较慢。
目录式搜索引擎的例子有Yahoo和新浪分类目录。
(2)索引式搜索引擎
索引式搜索引擎依靠一个被称作蜘蛛(Spider)或机器人(Robot)的程序,根据特定网络协议和原则,自动地从互联网上获取信息来建立索引。
并采用一定得方法对索引库进行更新,以确保索引库与互联网上信息的实时对应。
这类搜索引擎主要依靠程序自动地搜集和维护信息,从而将标引人员解放出来,同时索引库可以比较大,实时性也更强。
著名的索引式搜索引擎有Google,XX等。
(3)元搜索引擎
元搜索引擎也叫集合式搜索引擎,它将多个搜索引擎集中起来,提供统一的检索界面给用户。
因此元搜索引擎可以理解为一个经过包装的搜索引擎群体。
元搜索引擎有两种工作方式,一种是并行式元搜索引擎,另外一种是串行式元搜索引擎。
并行式元搜索引擎在用户提交查询词后,同时将查询请求发往多个搜索引擎,在接收到各个搜索引擎返回的结果后,根据一定得排序算法重新排序后返回给用户。
串行式元搜索引擎仅提供一个搜索引擎的列表,由用户选择使用哪个搜索引擎来进行查询,因此它可以说是“搜索引擎的搜索引擎”[2],帮助用户进行搜索引擎的选择。
尽管搜索引擎分类众多,但其基本思想是一致的。
图1-1展示了搜索引擎的基本思想。
首先搜集目标信息,然后将信息进行分析处理,并按照一定得数据结构进行存储,最后用户从这些被存储的数据中检索出有用的信息。
1.2开源搜索引擎研究的意义和现状
开源搜索引擎的研究具有极其重大的意义。
首先,由于只有很少的人能够接触大型商业搜索引擎,所以大部分人游离在专业搜索引擎技术之外,开源搜索引擎无疑为人们学习和研究搜索引擎技术提供了极好的途径。
再者,开源搜索引擎能够吸引更多人贡献自己的才智,这必将会推动搜索引擎技术的进步。
从市场的角度来说,越来越多的企业对搜索技术有迫切的需求,这些需求有极强的差异,例如,有的需要的是对文档的搜索,有的需要对网页的搜索等等。
这些企业中,大部分是中小企业,他们无力组建自己的开发团队来开发搜索引擎,同时也不可能花巨资购买专业化的搜索引擎,他们只希望花最少的钱来满足自己的需要。
这时候,开源的搜索引擎既帮了企业的忙,也帮了开发人员的忙,开发人员可以通过开源搜索引擎快速地开发出廉价的个性化的搜索引擎,这样的搜索引擎无疑会得到企业更多的青睐。
开源搜索引擎在开源的潮流和搜索引擎迫切的需求中诞生,经过多年的发展,已经取得了许多成绩。
这一领域最为流行的是Lucene家族,它以Lucene库为基础派生出许多知名的搜索引擎:
Nutch、Solr、Compass、LIUS等。
其中Nutch是以Lucene为基础的Web搜索引擎,利用它可以快速地搭建像Google一样的搜索引擎;
Solr是Lucene基础上的一个搜索引擎框架,通过对其配置,可以实现许多强大的功能,而且索引和查询的效率都极高,利用它开发个性化的搜索引擎是不错的选择;
Compass也是一个以Lucene为基础的搜索引擎架构,它提供比Lucene更加简洁的API,使用它与Hibernate、Spring等进行集成是个很好的选择;
LIUS(LuceneIndexUpdateandSearch)也包装Lucene的一个库,它是一个针对文本索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Solr 搜索引擎 研究 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)