基于Solr的搜索引擎研究与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着信息时代的来临,人们的生活、学习、工作和娱乐已经与信息技术充分的融为一体。随着群众对互联网参与度的增加和企事业单位信息化的逐步深入,信息量也成倍地增长,如何能更好地从浩如烟海的数字信息中快速、精准地查找到需要的信息,成为全国人民的迫切需求。尤其是处于信息化建设道路上的中小企业,如何快速且廉价地开放自己的信息检索系统,对于企业的成长至关重要。
本文介绍了搜索引擎的基本原理,对搜索引擎的一些核心技术进行了介绍与深入的分析;介绍了Lucene搜索引擎工具包的架构及其基本使用;对基于开源搜索引擎包Lucene的搜索框架Solr进行架构、代码、配置等方面的研究;最后设计并实现了一个基于Solr1.3的简单可用的多库搜索引擎。整个设计过程致力于提高管理维护的方便性和可扩展性。
关键词:L ucene;Solr;搜索引擎;爬虫;中文分词
Abstract
With the advent of the information era, people's lives, study, work and entertainment have been fully integrated with information technology. With the participation of the masses on the Internet and increase in the number of information-based enterprises, the amount of information has become several times as before. How to get useful information quickly and accurately has become an important thing to everyone. For the small and medium-sized enterprises, how to develop its own message retrieval system quickly and cheaply is essential for the growth of enterprises.
In this paper, we introduce the basic principles of search engine and analyses a number of core technologies. I also introduce Lucene search engine tools, its basic framework and how to use it. We analyses Solr, which is an open source search engine based on Lucene, and its architecture, code, configuration. At last, we design and implement a simple multi-database search engine based on Solr1.3.
Keywords: L ucene ; Solr ; Search Engine ; Spider ; Chinese Word Segmentation
目录
第一章前言 (1)
1.1绪论 (1)
1.2开源搜索引擎研究的意义和现状 (3)
第二章中文搜索引擎关键技术 (4)
2.1搜索引擎基本结构 (4)
2.2中文分词 (6)
2.3相关排序 (9)
2.4搜索引擎响应速度 (13)
2.5网络蜘蛛 (14)
第三章开源搜索引擎SOLR (16)
3.1搜索引擎包L UCENE (16)
3.1.1Lucene简介 (16)
3.1.2Lucene与Solr的关系 (16)
3.1.3Lucene的结构 (17)
3.1.4Lucene的使用 (18)
3.1.5Lucene的评分公式 (22)
3.1.6Lucene的搜索结果排序 (23)
3.2S OLR的介绍 (24)
3.2.1Solr的特点与优势 (24)
3.2.2Solr1.3的新特性 (25)
3.3S OLR的配置和使用 (25)
3.3.1Solr1.3服务器的部署 (25)
3.3.2Solr1.3体系结构图 (26)
3.3.3solr.xml配置文件 (27)
3.3.4schema.xml配置文件 (27)
3.3.5solrconfig.xml配置文件 (29)
3.3.6查询HTTP接口参数 (32)
3.4S OLR1.3的核心机制 (32)
3.4.1内核调用机制 (32)
3.4.2分库机制 (33)
3.4.3缓存机制 (33)
第四章基于SOLR的搜索引擎总体设计 (35)
4.1设计背景和原则 (35)
4.2整体结构与模块关系 (35)
第五章基于SOLR的搜索引擎详细设计与实现 (37)
5.1网络蜘蛛模块的设计与实现 (37)
5.2N EW API模块的设计与实现 (38)
5.3管理模块的设计与实现 (39)
5.4配置文件的配置 (39)
5.5分词模块的设计与实现 (40)
5.6查询模块的设计与实现 (41)
第六章结论 (43)
参考文献 (44)
致谢 (45)
第一章前言
1.1绪论
随着信息技术的不断发展和人民对信息技术需求的不断增加,世界各国都在经历着前所未有的信息革命。国家的发展离不开信息化,企业的发展离不开信息化,个人的工作、生活、学习和娱乐更是离不开信息化。
今日的中国也在跟随时代的步伐向着信息时代迈进,而且呈现出巨大的生机与活力,这是一个庞大的市场。信息革命的深入必然带来信息的爆炸性增长。据中国互联网信息中心(CNNIC)统计,截止2008年12月31日,中国已有网民数量2.98亿,网站287.8万个[18]。如此巨大的信息聚集必然导致有效信息获取的难度增强和垃圾信息量增加。于是,快速精准地获取有用信息的工具应运而生。通用的搜索技术有数据库技术和搜索引擎技术,文献3[3]中比较了两者的差别。
搜索引擎是信息检索的工具,因此对搜索引擎的研究应属于信息检索的分支。搜索引擎是帮助用户快速精准地从庞大的信息体中搜索到所需信息的工具,其诞生至今不过10多年的时间而已,不过其发展却非常迅速。表1-1总结搜索引擎发展历史上一些具有里程碑意义的事件,以求从整体上了解搜索引擎的发展历史。
国内搜索引擎的研究相对国外较晚,不过搜索引擎在国内仍然取得了不少成绩。