基于Solr的机构知识库检索系统构建研究

来源 :图书情报工作网刊 | 被引量 : 0次 | 上传用户:ppt91
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍Solr的概念、特性以及体系结构,并使用它设计和构建机构知识库的检索系统,该系统初步具备简单检索、高级检索、分面检索、相似资源检索、访问统计等功能, ,实现了机构知识库的个性化检索。
  [关键词] Solr 机构知识库 检索系统
  1 引 言
  伴随着计算机技术、网络技术以及数字化技术的迅速发展,数字化资源的发布和共享不再受时间、空间的限制。在研究机构和大学里,由研究人员和教师通过网络收集、保存、处理的一些会议论文、期刊论文、专著、教学课件、声音动画等数字化资源成为重要的学术资源。研究机构和大学将这些重要的学术资源从分散存储在研究人员和师生员工等的计算机上集中起来构成了机构知识库(Institutional Repository, IR)。机构知识库通过校园网甚至校际之间的协议,得到开放利用,一些发达国家的大学图书馆使用这种机构知识库共享学术资源。与此同时,机构知识库也承载了学术传播、电子出版、场次保存、知识管理、促进教育、科研评价、共享利用等诸多功能[1]。但是在互联网信息技术高速发展的今天,人们更加关注如何以最快的时间获取最有价值的信息。传统仅基于关键字的检索已不能满足人们现在的要求,如何能以最快的时间在机构知识库中找到自己想要的资源是现今亟需解决的问题。
  如今,开源软件本着自由、共享的理念,作为一种新兴的软件模式正在迅速深入人心。开源软件能够使开发者根据自身的需求进行二次开发来实现功能定制,从而提高其创新能力和针对性服务能力[2]。为了能够结合用户的需求提供多层次、高性能、多方面的信息服务,应充分利用一些优秀的开源软件。
  本文提出了基于Solr的机构知识库检索系统的模型,实现了对机构知识库的高效查询和浏览并提供了相似资源的推荐。
  2 Solr概述
  2.1 Solr的概念及特性
  Apache Solr是一个开源的基于Lucene的搜索服务器。它使用Java语言开发,主要基于HTTP和Apache Lucene来实现,在全文索引工具Lucene 的基础上进行了封装和功能扩展。Solr提供了分面搜索、高亮显示等功能并且支持多种输出格式(XML和JSON格式)。它是一个较为稳定和成熟的全文检索服务器,易于安装和配置,而且有自己独特的管理界面,是一个高性能的、可独立运行的企业级全文搜索引擎服务器[3]。
  Solr的特性主要包括:①高级的全文搜索功能,高亮显示检索结果;②专为高通量的网络流量进行优化;③基于开放接口(XML和HTTP)的标准;④综合的HTML管理界面;⑤具有很强的可伸缩性,能够有效地被复制到另外一个Solr搜索服务器;⑥使用XML配置达到灵活性和适配性,并具有可扩展的插件体系。
  2.2 Solr体系架构
  Solr在Lucene的基础上,重在数据之间内在关联关系的挖掘。作为一个完整的全文检索服务系统,Solr具有良好的体系架构[4],如图1所示:
  上层主要包括管理员界面(Admin Interface)、索引更新处理器( Update Servlet)和HTTP请求处理器( HTTP Request Servlet) 三大模块。管理员、用户和其他系统通过HTTP接口,向Solr发送HTTP请求,HTTP请求处理器根据接受到的不同请求,分析要使用的不同SolrRequestHandler,然后通过中间层即Solr的核心层处理这些请求,并以XML、JSON 等格式返回请求结果。索引更新处理器主要为XML数据的导入提供相应的可视化界面。
  中间层为Solr的核心层,由多个独立模块组成,负责整个系统配置(Config) 和索引参数(Schema)的加载与解析,索引文档及查询请求的分析(Analysis),提供建立索引和读取索引的并发控制(Concurrency)和分面、文档缓存机制(Caching) 。更新处理器(Update Handler) 负责对XML、CSV 和数据库等来源的索引请求进行处理。
  底层为全文索引工具Lucene,负责具体的文本分析、创建索引,并对索引文件进行高效查询。此外,索引复制功能(Replication) 是一个独立的模块,可以通过脚本程序、异步处理程序等完成,用于支持分布式索引和检索。
  3 基于Solr的机构知识库检索系统的设计
  3.1 系统总体功能
  基于高性能的Solr构建机构知识库检索系统,可以对机构知识库进行深度开发和综合利用,为用户提供高效、稳定的检索服务平台。该系统的功能结构如图2所示:
  该系统的主要功能分为8个部分。其中,简单检索指依据用户需求,提供所有字段的检索;高级检索是指对资源的作者、题名、关键字、出处等进行多入口的组合检索;分面导航是从论文、专著、教学课件、其他资源这4个维度对检索结果进行聚类统计分析;分面检索是用户依据分面导航进入相关链接时,系统将对当前结果进行分面过滤,从而实现分面检索[5]。另外,为了实现系统和用户之间的高度友好,系统提供检索结果的高亮显示和分页浏览功能;相似资源查找则是为用户提供更多有用的资源,在为用户显示检索结果的同时提供相似资源查找的功能;访问统计是系统为了帮助管理者更好地了解机构知识库被访问和利用的情况提供的资源访问的统计功能。
  3.2 系统体系架构
  基于Solr的机构知识库检索系统的体系架构,如图3所示:
  用户应用层是该系统中开发的重点,主要是基于Solr进行的二次开发,所完成的工作是提供用户界面,实现系统与用户间的友好交互,对于用户输入的查询条件进行高效灵活的检索,并且对检索的结果进行动态的分面导航,实现分面检索。另外,该层还提供检索结果的高亮显示、分页浏览以及相似资源的查找。最后,该层的一个特色功能就是提供知识库资源的访问统计,如哪些资源是用户比较感兴趣的、哪些资源是引用较多的、哪些时间段访问的人数比较多等。这样可以促进管理者更好地了解机构知识库的利用情况,以便改善。   核心业务层是联系用户应用层和数据来源层的核心纽带,该层一方面利用全文搜索引擎服务器Solr所提供的强大的功能,接收来自数据来源层的数据,进行系统参数以及索引参数的动态配置和管理,然后通过中文分词器和词库进行全量和增量索引,并且生成Lucene索引文件。另一方面,该层接收来自用户应用层的用户查询请求进行解析,高效、稳定地执行检索过程,并且将检索结果以标准的XML或JSON格式返回。
  数据来源层是该系统的最底层,主要负责对初始数据的处理。该系统在获取来源数据时主要支持两种方式:一是直接来源于机构知识库的数据加工系统(主要负责将资源按照一定的标准进行规范化存储);二是将机构知识库的数据加工系统中的数据转化为规范的XML文档。藉此,可以最大程度地实现数据处理的独立性,使得本系统可以在加工系统之外建立索引。
  4 基于Solr的学科机构知识库检索系统的构建
  4.1 Solr的安装部署
  Apache Solr是开源的搜索服务器,本文拟在安装JDK和tomcat的基础上,进行Apache Solr的本地化安装、配置与测试。
  首先需要在官方网站下载JDK、tomcat以及Solr的安装包。成功安装JDK和tomcat之后,重要的工作就是正确配置Solr的相关参数,实现Solr的本地化安装。其中需要做的工作主要有:①将下载的Solr包下面的dist文件夹中的apache-solr-1.4.1.war 拷贝到 tomcat的webapps ,并且改名为 solr.war。该WAR文件是一个完整的web 应用程序,包括了Solr的Jar 文件和所有运行Solr所依赖的Jar 文件、Jsp 和很多的配置文件与资源文件。②新建/opt/solr-tomcat/solr文件夹,把下载的solr包中的example/solr文件夹下面的所有文件放入 /opt/solr-tomcat/solr。③配置添加solr.home环境变量。在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中再建立localhost文件夹,在该文件夹下面建立 solr.xml,代码如下:
  为验证Solr是否正确安装,可以访问Solr的管理界面http://localhost:8080/solr/admin/,如果出现Solr系统管理主界面则表示配置成功,如图4所示:
  4.2 搜索引擎的配置
  为了能够满足该系统对索引的需求,首先通过solrconfig.xml和schema.xml两个文件对索引性能参数和索引结构进行设置。schema.xml文件是数据表配置文件,定义了加入索引的数据类型。主要包括types、fields和其他的一些缺省设置。在定义fieldType时,通常需要指定该类型的数据在建立索引和查询时需要用的分析器Analyzer。该系统采用开源的mmseg4j中文分词器[6],实现代码如下:
  
  ……
  <!--mmseg4j field types-->
  
  
  
  
  

  

  
  
  
  
  

  

  
  
  
  
  

  

  ……
  

  在定义好相关字段类型之后,便可以通过提交XML等规范文档或连接数据库进行数据索引的构建。
  4.3 索引的管理
  该系统中索引的构建主要通过两种方式:一是基于XML文件的索引构建;二是基于数据库的索引构建。
  ? 基于XML文件的索引构建主要通过使用4种请求命令,首先要在\apache-solr-1.4.1\example\exampledocs目录下创建 mmseg4j-solr-demo-doc.xml 文档,样例数据如:   
  
  1
  面向3G手机的移动学习资源交互设计与实现
  刘清堂
  向丹丹
  移动学习
  3G
  论文
  移动学习是网络教育的最新发展,3G手机被视为最具有发展前途的移动学习终端设备,面向3G手机的移动学习……
  中国电化教育
  2011
  

  

  然后在命令窗口切换到“”,运行post.jar.命令代码:
  java -Durl=http://192.168.10.85:18080/solr/update -Dcommit=yes -jar post.jar mmseg4j-solr-demo-doc.xml,若出现“Commintting Solr index changes”,则表明索引构建成功。
  ? 基于数据库的索引构建,首先要将对应数据库的JDBC驱动拷贝到tomcat下的webapps\solr\WEB-INF\lib目录下,接着配置数据库文件db\data\config.xml和solrconfig.xml,使其与DataImportHandler进行映射即可。DataImportHandler可以通过Solr提供的全量索引和增量索引两种方式直接从数据库获取数据来构建索引。
  4.4 用户模块的设计与实现
  用户模块的功能比较简单,主要包括页面设计显示以及分页辅助等工作。在设计用户界面时,需要保持美观大方、简洁友好的风格。
  主页面的设计如图5所示:
  图5 用户模块主页面
  当用户进入该系统时,默认提供的是简单检索的服务,用户可以依据自己的需求输入需要查询的内容进行查询。另外,还提供了高级检索、分面检索、相似资源检索以及访问统计的导航以方便用户进行其他方面的检索。
  5 结 语
  如今,利用优秀的开源软件进行二次开发和并且依据个性化需求进行适应性的加工已经成为一种趋势。Solr作为一种开源的全文检索引擎应用到数字化资源服务的研究也备受关注。本文将Solr应用于机构知识库的检索系统,取得了较为理想的效果。该系统目前还存在一些问题,如检索结果不能重新排序、不能实现分布式检索等,下一步将要针对这些问题进行改进和完善,以提高系统的实用性和整体性能。
  参考文献:
  [1] 赵继海.机构知识库:数字图书馆发展的新领域[J].中国图书馆学报,2006,32(2):33-36,50.
  [2] 鲜国建,赵瑞雪. 基于Solr的中文农业期刊文摘检索系统的构建研究[J].现代图书情报技术,2011(6):51-58.
  [3] Apache Solr[EB/OL]. [2011-09-10].http://lucene.apache.org/solr/.
  [4] 陈波.基于开源全文检索系统Solr的OPAC分面浏览[J].现代图书情报技术,2007(11):72-75.
  [5] Goeschl S. SOLR: An open source enterprise search[EB/OL].[2011-03-22]. http://people.apache.org/-sgoeschl/ presentations/solr/index.html.
  [6] mmseg4j – MMSEG for Java Lucene Chinese Analyzer,or for Solr-Google Project Hosting[EB/OL].[2011-04-22].
  http://code.google.com/p/mmseg4j/.
  [作者简介]杨 洁,女,1986年生,硕士生在读,发表论文1篇。
其他文献
【摘要】  分析社交网络中的知识共享现象及其特征,将人本身也视作一种隐形知识,提出基于差序格局的知识共享模式,并分析该模式对促进知识共享的意义以及利用方式。  【关键词】  差序格局 社交网络 知识共享 人本信息资源  引言  随着Web2.0时代的到来和SNS(social network site )的深入发展,人们已经习惯在自己的虚拟社区中获取知识、搜寻知识、分享知识,并且希望将这种虚拟空间
期刊
[摘要] 在以往检索系统评价指标的基础上,提出适合于评价检索系统的指标集,具体为检索界面、检索框、分类检索、热门列表、检索选项、检索提示、页面描述和快照功能8项指标。在这一指标集的基础上,利用网络调查法和比较法对新浪微博搜索和百度搜索进行比较研究。研究结果显示,新浪微博搜索的检索系统虽使用大部分指标,但与百度搜索相比存在程度不深、力度不足等问题。最后提出新浪微博搜索可从优化分类检索功能、实现智能化
期刊
[摘要] 农产品市场供求信息不对称、市场波动性大、产品流通不畅等,已成为制约我国农产品市场发育的重要因素。其中农产品市场供求信息不对称是导致农产品市场波动性大并进而影响到农产品市场交易规模的重要原因之一。运用信息经济信息不对称理论的框架,从供给与需求两个角度研究农产品信息不对称对农产品市场的影响,并给出减少农产品市场信息不对称的政策含义。  [关键词] 柠檬市场 信息不对称 农产品  传统经济
期刊
【摘要】  梳理图书馆开展文献传递服务中著作权管理相关问题。认为图书馆面临的著作权问题可以分为三个方面:立法建议、用户管理和图书馆员管理。分析国外若干图书馆开展非返还型文献传递服务的著作权管理策略,归纳用户分类管理、读者权益管理、文献传递系统应用和文献传递服务管理等措施,最后总结图书馆实施著作权管理的框架。  【关键词】  文献传递服务 合理使用管理 著作权管理框架  在图书馆服务和建设中,著作权
期刊
[摘要]首先分析欧盟互操作框架(EIF),总结4种类型互操作使用的情况。在此基础上,重点分析各国实施的语义互操作项目,总结出3种实现语义互操作的方法,分别是:将SOA、语义和本体论结合,WSMO中Choreography、Orchestration和中介器以及服务?—需求转换器。  [关键词]语义互操作 SOA WSMO 中间件 服务需求转换器  1 引 言  电子政务的建设最重要的就
期刊
[摘要] 图书馆在影视作品中呈现的元素不再限于建筑风格、藏书格局和人物形象,而传递着更多跟随时代发展的隐含元素,包括图书馆宝藏对合作存储的必要性的体现,信息考据情节对图书情报档案一体化的预示,现代化的侦探手法与泛在图书馆的异曲同工,记忆忆粒的科学幻想对数字存储的启示,学者精神对学科馆员队伍建设的激励以及歌舞表演对图书馆娱乐精神的表达,都透露出人们对传统图书馆的认识及其未来可能发展的方向。  [关键
期刊
[摘要]以社会网络中节点之间的关系为基础,从社会网络、战略信息系统和企业竞争优势三个角度进行分析,并以此为框架构建基于社会网络的企业内外部战略信息系统。从低成本战略、差异化战略和专一化战略三个方面探讨基于社会网络的战略信息系统对企业竞争优势的影响,并提出将其应用于竞争情报工作的思路。最后指出,基于社会网络的战略信息系统从内外两个层次为企业提供丰富的情报信息,为企业战略决策制定和竞争优势保持提供保证
期刊
[摘要]利用cnzz统计软件,通过对兰州大学图书馆网站用户访问报表的分析,利用spss统计软件对用户访问行为进行统计分析与研究,挖掘出用户访问的深层行为及规律,为优化教育和科研机构的网络信息服务提供依据和帮助。  [关键词]网络用户 行为分析 信息行为 图书馆  1 研究背景及意义  网络行为学的诞生源于网络的普及和发展对社会、经济发展所造成的深刻影响。国内研究学者邓小昭[1]对网络用户信
期刊
[摘要] 以2012年US News&World Reports公布的美国大学图书情报专业TOP 20学校为依据,以SSCI收录文章为数据源,借助Bibexcel提取关键词构建相异矩阵,利用SPSS聚类分析,采用“Squared Euclidean Distance”方法,对2001-2005和2006-2011的树状图分析两个时间段研究热点的共性和差异性。目的在于了解美国TOP 20高校图书情报
期刊
[摘要]以CNKI中国知网的《中国引文数据库》和维普《中文科技期刊数据库》(引文版)为数据统计源,对1987—2011年我国有关学科馆员论文被引情况按年代、引文总量、论文累积数、引用频次、期刊来源、期刊的离散、期刊引用频次、期刊的秩和比法、作者合作度与作者机构等11个指标进行文献计量分析,梳理我国学科馆员研究工作从溯源到现在发展的概况,以期较为客观地反映研究的现状,揭示其发展趋势,为今后我国学科馆
期刊