- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Solr企业级搜索引擎设计
基于Solr企业级搜索引擎设计
【摘要】分散的计算机上存储有大量的信息,企业级用户急需一种工具对这些零散的信息进行统一的查找,最好还可通过配置对特定的网站进行检索,这就是企业级搜索引擎,本文使用开源项目Solr设计了一款面向企业的搜索引擎。整体设计基于SSH设计框架实现;服务器端采用Heritrix抓取网页,加入IKAnalyzer增加中文分词功能;客户端采用Ajax技术实现异步通信,优化用户体验。
【关键词】Solr;Heritrix;SSH;企业级;搜索引擎
1.研究背景
随着Intenet的普及与企业信息化步伐的不断加快,在企业信息化的发展趋势下,越来越多的企业广泛地应用Intemet技术实现数据共享、业务集成与信息发布,信息内容也正在以惊人的速度增加。文件、图片、多媒体等非结构化数据存放零散,而企业内部业务系统有大量的结构化数据,如报表与业务功能,有时候要找到它们如同大海捞针,如果不及时解决这个问题,很多原来有价值的信息无法得到企业的有效利用。
目前许多企业级门户网站建立搜索引擎服务通常通过调用互联网搜索引擎的搜索服务,来实现对本站点的搜索。但是对于一个有很多子网站的企业门户网站来说,通用搜索引擎存在着很多缺陷,满足不了这种搜索服务要求,如:尽管通用引擎提供对指定站点内的查询,但是不能同时对多个站点同时查询;通用搜索引擎不能及时更新索引,会导致搜索结果不全和出现“坏链接”;调用通用搜索引擎的响应速度慢。总之,通用搜索引擎有很广的信息采集面,深度不够,它采取的是广度优先采集策略,而企业搜索需要深入挖掘与企业相关的所有信息,因此应采用深度优先的采集策略,同时由于某些行业网站或数据库的信息是动态更新的,而且更新频率很高,需要更频繁的抓取这些信息,因此企业搜索引擎正是应这种需求而产生。研究如何设计一个适用于企业信息检索的搜索引擎,具有重要的意义。文中采用Struts+Spring+Solr+Heritrix+IKAnalyzer的开发工具包,进行了一个中文全文搜索引擎的设计。
2.技术路线
2.1 总体架构
该搜索引擎搜索部分框架可概括为Heri trix+Solr+IKAnalyzer,如图1所示。实现方案中,把Solr作??处理搜索结果的源和入口,Heritrix负责它最擅长的工作:抓取网页内容。使用Solr作为搜索后端,可以充分使用Solr的搜索特性:查询拼写检查,搜索提醒,数据复制及查询缓存等。考虑到Solr本身中文分词功能较弱,因此引用IKAnalyzer来增强其中文分词功能。
鉴于企业级搜索引擎需要部分定制功能,例如,可能会需要设定访问一些企业本身感兴趣的网站,以提高搜索的速度和精确度,因此需要配置系统维护接口,实现人工的实时定制。
Solr本身提供了灵活的特性,能够从文本、数据库和网页中直接导入数据,而企业本身也需要对检索到的信息进行整理分类,会希望搜索引擎能够提供一些人工智能和个性化的东西,因此在设计中加入了数据库的支持,以实现对网页内容的学习、分析和聚类等,从而可保证提供智能化结果。
2.2 设计框架
系统设计采用基于SSH框架的三层结构,即表现层、业务层、持久层。
其中表现层使用struts框架,该层将直接面向用户,精美的UI将能够体现良好的可用性,本次设计用使用了开源的Yui-ext界面包,可增加弹窗、菜单等效果;使用的Ajax技术实现异步通信功能,提升用户的体验;利用struts框架与Yui-ext相结合,Yui-ext进行前台数据显示,而struts框架作为数据跳板向前台提供数据。
业务层使用spring框架,该层作为持久层数据与表现层之间数据传输的纽带,spring框架封装了DAO和JDBC模块,可以保持数据库访问代码干净简洁,并且可以防止因关闭数据库资源失败而引起的问题。
持久层使用Hibernate框架,目前,已经很少有人J2EE应用会直接以JDBC方式进行持久层访问,毕竟用面向对象的程序设计语言来访问关系型数据库令人沮丧;反之,多数人会以ORM框架来进行持久层访问,其中Hibernate框架灵巧、轻便,非常适用于持久层。
3.关键技术
3.1 Solr简介
Solr是Apache的一个开源子项目,它是一个采用java5开发的、基于lucene全文搜索库的企业级搜索服务器,提供了丰富的查询语言,可根据用户需求配置和扩展,并对查询性能进行了优化。Solr提供了一个完善的功能管理界面,可输出多种格式,能够实现异构系统的整合,有强大的插件功能,使用它很容开发出一款优秀的企业级搜索引擎。
3.2 Heritrix与Solr的整合
Heritrix与Solr的配置主要集中在服务器端,整
文档评论(0)