全文检索系统在网站中的应用研究

时间:2022-09-15 05:50:58

全文检索系统在网站中的应用研究

摘要:在分析全文检索原理及对比常见的全文检索系统的基础上,利用Java应用开发接口设计了一个文献资源检索系统,实现了准确快捷的分类信息资源及综合文献全文检索。

关键词:全文检索;全文数据库;搜索引擎;文献资源系统

中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)04-0842-04

Application of Full Text Retrieval System on Website

LIANG Yuan-yuan1, HE Wan-wen1, WANG Jia2

(1.Guangdong Meteorological Information Center, Guangzhou 510080, China; 2.Guangdong Meteorological Service Training Center, Guangzhou 510080, China)

Abstract: On the basis of analyzing the Principle of Full Text Retrieval and comparing unusual structure of Full Text Retrieval system, a new design method of Literature Resources System is proposed, which uses Java application development interfaces, the system achieves fast and accurate classification of information resources and comprehensive literature Full Text Retrieval.

Key words: full text retrieval; TRS full text database; search engine; literature resources system

随着企事业单位信息化程度的不断提高,很多单位的核心业务数据都存贮在SQL Server、Oracle、Sybase、Informix、IBM DB2等关系数据库中,而这些数据库系统通常缺乏对存储在其中的数据内容进行有效检索和分析,这使得在数据管理中出现查询数据难,更改数据难等问题,且实际检索效率随着数据的增长而急速下降,尤其对复杂的文本检索问题尤为突出;常见的全文检索系统有TRS, lucene,xapian,sphinx,TRIP,TPI,DESE等,其中,北京拓尔思信息技术股份有限公司的TRS全文检索系统是是国内最为常用、成熟且稳定的信息检索软件,TRS全文数据库系统提高接近100%的查准率,输出结果可按相关度或字段值排序,或者多字段的联合排序,且能够分类检索结果,完全满足电子政务、电子商务等最新需求的数据库系统,基于此,以TRS全文检索系统为平台,利用TRS Java应用开发接口设计了一个文献资源检索系统。

1全文检索系统结构简述

全文检索(Full Text Retrieval)是指利用检索算法(P2P算法、最大熵算法、粒子群优化算法、预估算法等)按照事先建立的索引进行检索,并将文件(包括TEXT、HTML、、S2 /PS2/PS、MARC、Word、Excel、PowerPoint、音视频等多种格式)中所有与检索项匹配的结果快速准确地反馈给用户的检索方法,全文检索系统一般具有完善的非结构化数据管理、高效智能实时的全文检索、强大的企业级应用支持支撑架构、高安全性高可靠性高成熟度及高开放性等功能,全文检索系统结构如图1所示。

在图1中,全文检索系统由查询引擎、文本分析引擎、索引引擎、磁盘索引文件、二次开发接口、WEB应用程序、传统应用程序及其他应用程序等组成,检索引擎是整个全文检索系统的关键,决定着整个全文检索系统的优异程度,常见的检索引擎有Google、ya? hoo、搜狐、百度等。

2常见的全文检索系统对比分析

2.1 TRS系统

TRS(Text Retrieval System文本检索系统)是基于“并行计算”算法的中文全文检索系统,传统的搜索引擎采用”预估”的检索策略,保证不了检索结果的全面性, TRS搜索引擎借助中文处理技术、文本挖掘技术、索引技术等实现了查全和查准的完美结合,在保证查全率的同时,提高了信息的查准率。与其他的全文检索系统相比,TRS系统具有异构资源统一管理,动态索引实时搜索算法,结构化和非结构化数据联合搜索,多服务器集群的高性能可靠的搜索性能。TRS全文检索架构如图2所示,TRS系统系统主要由TRS Database Server(TRS全文数据库),TRS WEB应用服务器(TRS WAS),TRS全文检索网关及TRS管理工具组成。

2.2 lucene系统

Lucene是Apache公司的一个基于Java的开源检索引擎类库,其提供了多个应用程序编程接口函数及多个数据存储结构。Lu? cene的源码主要由7个程序包组成,分别是Org.apache.lucene.analysis(语言分析器), Org.apache.Lucene.store(数据存储管理), Org. apache.lucene.document(文档结构管理类), Org.apache.lucene.search(搜索管理), Org.apache.lucene.indexI(索引管理), Org.apache.lucene. store,util(基础公共类)和Org.apache.lucene.queryParser(查询分析器),这7个程序包的相互关系如图3所示:

2.3 TRS系统与lucene系统对比(表1)表1 TRS系统与lucene系统对比

3文献资料检索系统设计

基于上述全文检索系统分析对比,设计的文献资料检索系统以TRS全文检索系统为平台,利用TRS Java应用开发接口,数据库底层通过TRS GateWay实现TRS与Oracle数据库及时数据更新,数据存储由Oracle完成,信息索引检索工作由TRS完成,可提供网络检索和本地检索方式,方便快捷地完成进精确检索、模糊检索及联合检索,且能实现逐级分类细化检索,最后还能够对检索结果按照相关度、时间进行排序,此外还支持包括TEXT、HTML、RTF、PDF、S2 /PS2/PS、MARC、MS OFFICE(Word/Excel/Powerpoint等多种格式文件的存储、索引与检索。基于对检索方式多样性、查全与查准及平均检索响应时间以及等方面的考虑,采用TRS检索系统作为开发平台,具体包括TRS Web应用服务器、TRS集群服务器组、TRS全文检索网关、TRS全文数据库服务器、和TRS Admin工具三个部分,系统架构如图4所示。

3.1实现方案

1)利用TRS全文检索数据库应用服务器软件,实现对文献资源统一检索平台的检索服务功能;

2)利用TRS全文检索数据库集群软件,实现对服务器组数据库内的文献资源进行存储、检索与全文数据库服务器组之间实现分布式检索;

3) TRS WAS通过设置检索库字段获取TRS Database中指向的表单文件,通过设置数据库字段获取表单文件的字段信息,通过设置概览字段,细览字段、默认检索得到显示信息,此外,还利用TRS WAS抽取TXT、PDF、WORD、EXCEL、POWERPOINT、XML、RTF、HTML、音视频等类型的文本,并装载到TRS Database中;

4)利用内容相关度排序、分词词典、二次检索、渐进检索词根检索等技术,对文献资源元数据内容进行自动分词检索排序;5)利用TRS Admin功能,实现文献资源元数据的添加、修改、删除等维护;

6)利用实时动态索引技术,在数据增改删时能快速响应同步更新索引,而无需重建整个索引,确保了信息的有效性与实时性。

3.2主要功能实现关键技术

常见的TRS编程接口包括:TRS Server,TRS Admin,TRS C API,TRS ADO和TRS JavaBeans。

1)数据库读写操作

利用TRS JavaBeans技术对数据库进行读写操作, TRS JavaBeans技术将逻辑层与表现层相分离, TRS JavaBeans组件封装了与TRS数据库服务器相关的Java类,并为操作TRS数据库提供了统一开发接口,在数据库读写开发中,需要在程序开始处引入trsbean. jar库,对数据库进行操作一般是通过TRSDataBase与TRSConnection类实现,如服务器连接代码如下:

try {//与TRS服务器建立连接

if (TRSConn.connect(ip,端口,”用户名”,”口令”)){ }

else {

out.println("与TRS服务器建立连接失败!\n");

}

} catch(TRSException TRSe) {

out.println("连接失败ResultSet!\n");

}

2)概览与细览功能

概览与细览需要通过包含TRS置标的JSP或HTML文件来实现,TRS置标是控制数据的表现形式,将数据与表现相分离,通过TRS置标添加向导方便的进行模板TRS置标的插入,TRS置标元素可以精确到字段级,常用的置标主要由四种:概览置标,TRS_RE? CORD,细览置标和TRS_TEMPLATE。TRS Javabeans的TRSResultSet对象还提供了丰富的函数可以读取记录的页码信息,如使用getPage可以得到当前记录所在页号,使用GetPageCount可以获取记录集中所包含的记录页数,使用getPageSize可以获取记录集每页所包含的记录数,使用getRecordCout得到记录数,遍历代码如下:

try {

TRSRS = TRSConn.executeSelect(databasename,Select1,"用户名","密码", null, 0, 0, false);

TRSRS.moveFirst();//记录定位

......

TRSRS.close();

} catch(TRSException TRSe) {}

4结束语

从全文检索系统结构出发,分析了TRS全文检索系统,采用全JAVA三层架构,利用TRS Java应用开发接口技术设计了一个基于TRS全文检索系统的文献全文检索系统,借助TRS系统开发网站,可以为网站技术人员节约大量的精力和时间,实现了对海量信息的智能化处理。

参考文献:

[1]杨春雷,陈昕.TRS在吉林省图书馆网站建设中的应用[J].图书馆学研究,2011(22).

[2]梁苑苑,石小英,李娜,等.浅述TRS网站内容协作平台及其数据库的备份[J].电脑知识与技术,2010(34).

[3]梁苑苑,王佳.TRS网络信息雷达系统在新闻网站数据自动化迁移中的应用[J].气象研究与应用,2010(4).

[4]吴秋萍,应用TRS WCM实现党校门户网站的设计与开发[J].电脑知识与技术,2010(21).

上一篇:轻量级软件项目管理方案 下一篇:OA系统中基于角色的访问控制设计