19
科技创新导报 Science and Technology Innovation Herald I T 技 术
1 引言
C/S模式的软件,客户端需要安装专用的软件才能和服务器通信,只适用于局域网,需要针对不同的操作系统开发不同版本的软件,产品更新换代快、维护代价高、执行效率低。对于拥有上百万馆藏资源的高校图书馆,读者检索数据,必须要到图书馆利用检索机才可以,这在当今互联网时代,这已经不能满足读者想随时随地通过网络快速得到检索数据的需求。
B/S模式是随着Internet技术的兴起迅速发展,能实现不同用户从不同地点,以不同的接入方式访问服务器,能有效地保护数据平台和访问权限,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本。
全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统,需要具备建立索引和提供查询的能力。功能上,全文检索系统核心具有建立索引、处理查询返回结果集、增加索引、优化索引结构等功能。结构上,全文检索系统核心具有索引引擎、查询引擎、文本分析引擎、对外接口等,加上各种外围应用系统等共同构成了全文检索系统。
2 全文检索引擎
Lucene [1]是一个开放源代码的全文检索引擎工具包,具有索引文件格式独立于应用平台的特点。在实际全文检索中,建立索引,要么是定期遍历数据库,调用索引建立程序模块将里面的数据转为索引,要么是每次更新数据的时候,调用索引建立程序模块将里面的数据转为
索引,两种方式的共同缺点是频繁更新索引数据将使对硬盘的操作影响巨大。
Compass是对Lucene的封装,其扩展了事务索引、搜索引擎抽象、对象关系映射、事务管理、不同的映射技术在数据库存储索引的功能。Compass [2]的模块主要如图1所示。
Compass提供了以下两种途径来完成事务管理代码简化操作。
(1)CompassTemplate,它使用流行的设计模式来抽象事务管理。
(2)与Spring事务管理器集成,可以在一个存在的事务中执行。
Compass通过OSEM(对象到搜索引擎映射)可以轻松地和Hibernate、Spring等无缝集成,索引库能够随数据持久层同步更新。3 系统实现
3.1创建搜索对象
Hibernate [3]是数据持久化事实上的标准,功能强大、性能优秀,与Compass通过注解方式创建OSEM对象模型,通过Compass抽象出需要的属性,然后把它们对应的元数据插入到搜索引擎索引中。
Book类对象搜索实体,代码如下:@Entity @Table
@Searchable
public class Book {
基于java的图书管理系统@SearchableProperty private String title;@SearchableProperty private String content;……}
在搜索对象模型的建立中,需要过滤网页样式得到纯文本,用于在搜索结果中显示图书文献摘要信息。
3.2索引的创建与更新
Compass Spring主要完成Compass和Spring的集成,在系统的l文件配置Compass。Compass内核
基于Java 开源框架SSHC 的图书文献全文检索系统
的研究与开发①
郭鹏 张云哲 吴鹏飞
(石家庄学院图书馆 石家庄 050035)
摘 要:本文基于Java体系开源框架Spring3.0、Struts2、Hibernate3.3和Compass2.1设计与实现了一个B/S模式的图书文献全文检索系统,系统采用MVC框架,集成Spring3.0、Struts2、Hibernate3.3实现AOP以及事务管理、控制层、数据持久层,应用Compass实现索引的创建与数据库同步更新,系统应用在图书馆海量图书文献的检索中,比传统的C /S 模式的基于S Q L 的数据库检索系统,检索结果的呈现要提高数倍,耗时为毫秒级。
关键词:Java 开源框架 全文检索 索引中图分类号:G 250文献标识码:A 文章编号:1674-098X(2011)06(a)-0019-01
是Lucene,对中文处理可以采用单字分词和双字分词,本系统采用了双字分词方法实现对中文文本分词处理,这样可以保障高效的分词索引速度。
Compass Gps集成不同的数据源,通过Hi-bernate的ORM实现,通过hibernate GpsDevice 使得数据库中的记录变化后,可以使用Hiber-nate3事件系统支持的实时数据镜像来自动同步更新索引。
3.3分页搜索模块实现
系统采用Struts2[4]实现控制器,调用数据持久层的搜索模块实现搜索,以分页的形式显示在视图层,进行测试,搜索耗用的时间仅仅为0.01秒,文献的标题和摘要都以高亮的形式显示。
4 结 语
对于一个拥有海量数字资源的图书馆来
说,让用户快速地、方便地、精准地查到需要的图书或者文献,是图书馆资源检索的迫切需求,本文分析了Java体系开源框架设计与实现了一个B/S模式的具体跨平台、跨数据库的搜索引擎,与传统的数据库检索相比,大大减少了图书馆工作人员的工作量,方便了读者查询图书馆资源,读者不必到图书馆就可以通过网络查询资料,检索结果以毫秒级的耗时快速呈现给读者。
参考文献
[1]Apache Lucene. Apache Lucene -Overview [EB/OL].2010.
[2]C o mp a s s -J a v a S e a r ch E n gi n
e
Framework.overview [EB/OL].2010.[3]李刚.轻量级J2EE企业应用实践[M].北
京:电子工业出版社.2007(6).
图1 Compass概况
①本文系石家庄市科学技术研究与发展指导计划课题“面向企事业单位信息管理的CMS平台研究”(项目编号:10113124)的研究成果之一。
. All Rights Reserved.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论