admin 管理员组文章数量: 1184232
2024年4月20日发(作者:css文本居中属性)
XML与全文检索在CMS数据归档中的应用
文章编号:1003-5850(2012)01—0070—03
XML与全文检索在CMS数据归档中的应用
王军,张兴忠
(太原理工大学计算机科学与技术学院,太原030024)
摘要:目前CMS(内容管理系统)大量应用于电子商务和企业信息化建设中。将XML与基于lucene的全文检索技术应用于
CMS数据归档过程中,实现了各种结构化、非结构化及半结构化数据的存储、检索和利用,从而解决现有CMS系统存在的内容繁
杂、管理效率低下等问题。
关键词:XML,全文检索,lucene,CMS,数据归档
中圈分类号:TP311 文献标识码:A
Application of XML and Full-text Search to the CMS Data Archiving
WANG Jun,ZHANG Xing-zhong
(College of Computer Science and Technoogy,Tab,uan University of Technology,Taiyuan 030024,China)
Abstract:Currently,The CMS(Content Management System)is widely used in the domain of e-commerce
and enterprise information construction.This paper applied XML and full text search technology based on
lucene in the process of data archiving.It realized the storage,retrieval and use of structured or semi-
structured data,and then solved the problems of content multifarious,low efficiency of management of the
existing system of CMS.
Key words.XML,full—text search,lucene,CMS,data archiving
内容管理系统(CMS)是一种位于WEB前端和后
端办公系统或流程之间的软件系统,侧重于企业内部
1 XML与Lucene文本检索技术
和外部非结构化资源的战略价值提取。如何使用户可
1.1 XML技术
以方便地检索、使用、分析和共享企业信息显得尤为重
XML是信息的高层封装与运输标准,解决了信
要。基于以上因素,必须制定出一套合理有效的存储方
息表示与关联的统一问题。具有以下特点:
式和检索策略来完成整个过程。
①良好的可扩展性:XML允许使用者根据实际
XML(Extensible Markup Language)称之为可扩
需要创建和使用自己的标记。
展性语言,具有标准性、开放性、灵活性、易读性,和平
②开发的标准:它既与平台无关,又与技术提供厂
台无关性及结构化的数据存储格式等特点,使其成为
商无关。它解决了电子数据交换(Electronic Data
CMS结构化存储的良好解决方案。
Interchange,EDI)的缺点。
Lucene是一个全文检索引擎的架构,提供了完整
③结构化的数据存储格式。XMI 提供了一种结
的查询引擎和索引引擎。独立于平台之外索引文件格 构化的数据表示方式,它不仅可以对数据进行结构化,
式、分块索引机制的引入以及独立于语言和文件格式
而且可以指定元素间的联系,能够建立复杂关系的数
的文本分析接口,使其能很好地支持数据归档检索模
据模型。
块的实现。
④易于数据共享。XML在描述数据时,仅采用纯
* 收稿日期:2011—09—2fi,修回日期:2011一II一26
** 王军,男,1987年生,在读硕士,研究方向:Web信息检索。
第25卷第1期 电脑开发与应用
文本的形式来描述数据本身,而与数据的表现形式无
关,所以适合在不同的应用程序之间交换数据,实现数
据共享。
表2 XML文档与非结构化数据的映射
XML文件
文本节点的祖父节点
非结构化数据
文件目录
文件
⑤XML访问层次性。针对XML文档元素可属性
设置访问级别,可以对不同的用户展现不同的视图,用
文本节点的父节点
文本节点
文件内容
户只能看到被授权的那部分内容。
1.2 Lucene文本检索技术
2.2映射方法的限制规则及XML数据导出
Lucene文本检索技术是一种全文检索技术,该检
该映射模式是针对CMS(内容管理系统)中固定
的表结构与文件存储方式所设计的一种映射模式。该
模式要求:XML文件的层次必须小于等于3层。即
XML数据源只是从单一的数据库表,标准形式如下:
<TableNameOrFileDir><recordOrFile id=”1234”>
索过程总体分两个过程,索引创建(Indexing)和搜索
索引(Search)。
①索引创建:将现实世界中所有的结构化和非结
构化数据提取信息,创建索引的过程。索引创建的过程
主要如下:源文档一分词组件进行分词一语言处理组
件进行自然语言处理一对生成的词条利用索引组件生
成索引。
<fieldlOrFilel>valuel</fieldlOrFilel>
<field20rFile2>value1</field20rFile2>
</recordOrFile></TableNameOrFileDir>
②搜索索引:就是得到用户的查询请求,搜索创建
的索引,然后返回结果的过程。搜索索引的过程主要如
一
该映射模式同时存在以下限制条件:
①属性节点只在第2层元素节点上存在,并且唯
指定对应的Id属性(如上面的record元素节点所
②文本节点父辈层节点名称不能一样(对应于数
据库中个表格里不允许有两个重名字段),比如<
TableNameOrFileDirl><recordOrFilel id=”1234”>
下:用户输入查询语句一对查询语句进行词法分析、语
法分析,及语言处理一搜索索引,得到符合语法树的文
档一根据得到的文档和查询语句的相关性,对结果进
行排序。
示)。
2 CMS数据归档
2.1 XML文档与结构化、非结构化数据的模式映射
方法
<fieldlOrFilel>value1</fieldlOrFilel>
</recordOrFilel></TableNameOrFileDirl>
<TableNameOrFileDir2><recordOrFile2 id=”4566 >
<fieldlOrFile2>value2<|fieldlOrFile2>
</recordOrFile2></TableNameOrFileDir2>
2.1.1 XML文档与关系数据库的映射[1]
通常关系型数据库由4部分组成,它们是库、表、
记录、字段。本文主要定义一个从关系型数据的表级结
构上转化成多个XML文件的策略:即每张数据库表
对应多个XML文件。可以把XML文档的所有节点提
是不允许的,即一次转化只能操作一张表或者是一个
文件目录下的文件。
本文采用dom4j生成XML文件,先生成一个
Document对象,再创建元素节点,然后按照映射关系
表填充对应元素节点的值、属性等。核心代码如下:
Document document}//创建一个document对象
List list=new ArrayList();//创建一个list存放所有的
元素节点、文本节点等。
取出来并放在一个良好的数据结构中,从而可以实现
XML文档与关系数据库的任意映射。本文实现的映
射只处理元素节点和文本节点。其映射关系如表1所
示。
表1 XML文档与关系数据库的映射
XML文件
文本节点的祖父节点
文本节点的父节点
document=DocumentHelper.parseText(xmlStr)l
Element rootElement=document.getRootElement()I
List<Element>elementList=rootElement.elements(
关系数据库
表格
字段
book”)l
for(Element element{elementList){
list.add(element.elementText(”title”))1
文本节点 值
2.1.2 XML文档与非结构化数据的映射
)//将节点循环加入list中
非结构化数据一般都以文件的形式存储在文件系
统中。可以将其简化成文件目录、文件、文件内容三层结
构。从而建立对应的映射关系。其映射关系如表2所示。
2.3 Luence索引的创建与使用E ]
在lucene中,索引(index)由段(segment)组成,段
(segment)由记录(document)组成,记录(document)
XML与全文检索在CMS数据归档中的应用
由域(field)组成,域(field)由字符串(term)组成。例
象即可。简化的关键代码如下:
private String indexName="E,\kindex”,//索引路径
IndexSearcher searcher null l
如,一个document可以与一个物理文件对应,将其中
文件名、文件内容、文件创建时间等信息提取为数据源
放人document中,也可将多个物理文件的数据源同
String queryString=“Success”,//索引关键字
Hits hits=nulll
时放入一个document。数据源是由一个被称为field
的类表示。这个field类主要用来标识当前数据源各种
属性。
Analyzer analyzer=new StandardAnalyzer O l
QueryParser qb
Query q
new QueryParser(fields,analyzer)I
qb.parse(queryString),
本文描述的数据来源由两部分组成,一份是关系
数据库中的数据,另一份是CMS运行过程中产生的
非结构化数据,通过上述的模式映射方法,将XML文
hits=searcher.search(query),//命中结果集
3 结 论
将XML与Lueene全文检索技术应用于CMS数
件类节点一一映射到索引的field域。然后依次调用分
词组件、语言处理组件、索引组件生成索引。生成索引
的关键代码如下:
IndexWriter writer=null,//新建一个IndexWriter
writer = new IndexWriter (indexDir, new
据归档过程中,充分发挥XML技术自身的特点结合
Lueene带来的开源、优异的索引结构、良好的系统架
构等优点,改善了目前由于内容管理系统长时间运行,
企业内部和外部结构化与非结构化数据资源的大量增
加所导致内容繁杂、管理效率低下等问题,提高归档数
]
StandardAnalyzer(),ifempty);
//为document添加field域的内容
doc.add(newField(”id”, +fb.getld(),
据的可用性和有效性,同时充分保证存储空间的利用
率。
Field.Store.YES,Field.Index.TOKENIZEI ̄1));
doe.add(newdoc.add(newField( SavePath , +
参考文献:
[1] 杨甲森,王浩.用于数据交换的XML文档和关系数
fb.getSavePath(),Field.Store.YES,Field.Index.NO));
doe.add(newField(”ModiTime ,””+fb.getModiTime(),
Field.Store.YES,Field.Index.ANALYZED));
据库转换口].计算机工程与设计,2006,27(5):857—
859.
//添加document
writer.addDocument(doe);
[2] 李永春,丁华福.Lucene的全文检索的研究与应用
writer.optimize()}//对索弓I进行优化。
[J].计算机技术与发展,2010,20(2);11-15.
[3] 邱哲,符滔滔.开发自己的搜索引擎[M].北京:人民
邮电出版社,2010;128—150.
索引的使用也比较简单,首先给出索引路径,然后
再提供要搜索的field和关键字,最后生成一个查询对
(上接第18页)
Stereo by Using Dynamic Programming[C]//Proc.of
IEEE Int’l Conference on Computer Vision and
6 结束语
提出一种基于双向互匹配的视差图算法。算法结
Pattern Recognition,2004.
鞠 芹.基于多目立体匹配的深度获取方法[J].计算
机工程,2010(36):174—176.
合图像的视差场和梯度场,采用Winner—Take—All策
略,有效地解决图像中由于遮挡因素带来的误匹配问
曾志宏.融合深度信息的视觉注意计算模型[J].计算
机工程,2010(36):200—202.
题,提高匹配精度,最终获得稠密的视差图。本算法在
匹配精准度和像素误匹配方面还有待提高。
参考文献:
[1] Klaus A.Segment—based Stereo Matching Using
Belief Propagation and a Self-adapting Dissimilarity
郁理.基于分级置信度传播的立体匹配新方法[J].
中国图象图形学报,2011(16):103-109.
罗三定.基于区域增长的自适应窗口立体匹配算法
[J].中南大学学报(自然科学版),2005(36):1042—
1047.
倪炜基.基于色彩分割和自适应窗口的快速立体匹配
Measure ̄C-]//Proc.of International Conference on
Patter Recognition,2006.
[J].仪器仪表学报,2011(32):194-199.
李平生.基于梯度特征与彩色特征相融合的mean
shift跟踪方法口].微型机与应用,2011(3O):35-38.
[2] Orstmann S,Kanou Y,Ohya J,et a1.Real—time
版权声明:本文标题:XML与全文检索在CMS数据归档中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713564443a640974.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论