SQL Server 2000 全文检索技术

1 全文检索及其发展状况

随着海量信息的出现以及计算机存储技术的发展,文献数据库正由书目数据库向全文数据库转变。这一转变使得全文检索技术得到空前的发展。

常用的实现全文检索的方法主要有以下两种:

第一种方法是不对数据库建立索引而直接对文章进行匹配的方法。这种方法由于没有建立索引库,因此所占空间较少,但同时正是因为它没有索引库,所以在进行全文匹配时要花费大量的时间。

第二种方法则是一种为全文建立倒排索引库的方法。这种方法可以大大节省检索的时间。但同时,这种方法需要占用一定的存储空间来建立索引库。目前,国内外对全文检索的研究可以说是达到一个高潮。许多研究机构和商业组织都在进行这方面的研究。国际最具影响力的全文检索评估机构当属TREC(Text Retrieval Conference)。它是由美国技术和标准研究所(NIST)和美国高级研究计划局(DARPA)共同举办、自1992年以来每年一次的全文检索评估会议,会议参加者带来研究的检索系统以供专家进行评估。传统的信息单位,***书馆等也开始建立全文数据库,引进各种全文检索技术。一些软件公司,也纷纷推出全文检索软件。国内比较有代表性的如TRS等,而国外比较著名的有下文将要介绍的Microsoft公司开发的SQL Server 2000。

2 在SQL Server 2000中配置全文检索服务

SQL Server是Microsoft公司在原来和Sybase公司合作的基础上推出的一款面向高端的数据库系统。而SQL Server 2000版本则是最新的、大型联机事务处理的新型数据库平台。它继承了SQL Server以前版本的一些强大的优势,如简单易用、具有良好的稳定性和高效性等等。同时,它的功能比以前的版本更加强大,界面更加友好。总之,无论是在功能、安全性、可维护性,还是在易操作性上都较以前版本有了长足的进步。它的全文检索功能配置简单,使用十分方便。我在建立关于信息检索的英文论文题名、文摘数据库的过程中,使用了SQLServer 2000。由于文摘文本单词量平均在500个左右,而且论文记录数量较多,如果不为文摘建立全文索引库,将严重影响检索效率。因此,我使用SQL Server2000的全文检索功能为这个数据库提供了全文检索服务。

2.1 建立全文检索服务的过程如下:

第一步,在SQL Server中建立一个全文数据库English—Data。在该数据库中建立一个表Papers。该表的字段有pa—per__id(代表论文的顺序,数据类型为int,长度为4,要求非空,并为标知,标知种子为1,自动增量为1)、paperAitle(代表论文的题目,数据类型为vchar,长度为200,要求非空)、pa—per_abstract(代表论文的文摘,数据类型为vchar,长度为8000,要求非空)。

第二步,为建立全文索引,一定要为该表建立唯一索引(Unique Index)。我为Papers表的paper_id字段建立唯一索引。

第三步,将数据逐步导入到表Papers中。

第四步,打开SQL Server的企业管理器,在左侧的树视中点击数据库。然后点开数据库EnglishData.。选择“全文目录”。点击右键,选择“新建全文目录”,建立全文目录Paper-AbstractFullSearch,然后建立名称为AbstraetSearch的调度。其他接受默认。

第五步,选择企业管理器的右侧的表Papers,单击右键,选中“全文索引表”,单击“在表上建立全文索引”。将会出现“全文索引向导”窗口。点击“下一步”会到达“选择索引”窗口。由于本表只有一个唯一索引paper_id,点击“下一步”,会出现“选择表中的列”窗口。选择“paper_abstract”字段,然后点击“下一步”,出现“选择目录”窗口,接受默认配置,点击“下一步”,出现的窗口“选择或创建填充调度(可选)”窗口,接受默认配置再点击下一步。出现“正在完成SQL Server全文索引向导”,点击“完成”。完成配置。

第六步,选择表Papers,点击右键,选择“全文索引表”,点击“启动完全填充”,等待完成。

第七步,配置数据源名。在ODBC管理器中的“系统DSN”中,单击“添加”,选择“SQL Server”。在数据源名中输入“EnglishData”, 然后进行客户配置。

第八步,如果以后对表Papers进行任何的修改(包括添加、删除记录和对原记录进行编辑),都要重复第六步的操作。这一步是为了保证全文索引库能够与表Papers的修改同步。

以上是建立全文索引的全过程。完成建立后,即可以使用标准的T—SQL语句对其进行全文检索。

2.2 在web平台上进行全文检索

虽然使用T—sQL语句可以很方便地进行全文检索,但笔者考虑到不是所有的用户都掌握了T—sQL语句,因此为方便用户检索,笔者建立了一个基于Web界面的全文检索平台。用户只需将检索词提交给Web服务器,服务器使用ASP调用ADO控件来对SQL Server2000数据库进行查询,并将检索结果以Web页面的方式返回给用户。

ASP(Active Server Pages)是微软公司建立的一套服务器端脚本环境。设计人员可以结合HTML、ASP指令和ActiveX控件建立动态、交互且高效的Web服务器应用程序。由于所有的程序都嵌入HTML中且在服务器端执行,因此不必担心客户端的浏览器能否运行程序。同时,它还具有简单、易开发、兼容性好等优点。ADO(ActiveX Data Object,ActiveX数据对象)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component),用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。ADO对象可以操作所有ODBC驱动程序存取的数据源格式。同时,ADO还具有简单易用、速度快等优点。

SQL Server 2000的全文检索服务可以支持布尔检索和加权检索等高级检索。用ASP可以实现这些检索功能。

3 全文检索语句CONTAINS和FREETEXT的使用

全文检索使用户可以高效检索存储在数据库的char、varchar、text、ntext、nchar、nvarchar等数据类型列中的文本数据。在进行全文检索之前,应建立和填充数据库全文索引。

3.1 全文索引

为了支持全文索引操作,SQL Server 7.0新增了一些新的存储过程和Transact-SQL语句。使用这些存储过程创建全文索引的具体步骤如下(括号内为每步所调用的存储过程名称):

(1)启动数据库的全文处理功能(sp_fulltexLdatabase);

(2)建立全文目录(sp_fulhexLcatalog);

(3)在全文目录中注册需要全文索引的表(sp_fulltext table);

(4)指出表中需要全文检索的列名(sp_full—texLeolumn);

(5)为表创建全文索引(sp_fulltexLtable);

(6)填充全文目录(sp_fulltext_catalog)。

下面举例说明:

在本例中,对test数据库book表中title列和notes列建立全文索引。

//首先先启动SQL Server的全文搜索服务。

use test //打开数据库

go

//打开全文索引支持

execute sp_fulltext_database ‘enable’

//建立全文目录ft_pubs

execute sp_fulltext_catalog ‘ft_test’,‘create’

//为titles表建立全文索引数据元,pk_title为book表中由主键所建立的唯一索引,此参数必须。

execute sp_fulltext_table ‘book’,‘create’,‘ft_test’,‘pk_title’

//设置全文索引列名

execute sp_fulltext_eolumn ‘book’,‘title’,‘ add’

execute sp_fulltext_ column ‘book’,‘notes’,‘add’

//建立全文索引

execute sp_fulltexLtable ‘book’,‘activate’

//填充全文索引目录

execute sp_fulltext_ catalog ‘ft_test’,‘start_ full’

go

至此,全文索引建立完毕。

3.2 全文检索

SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表所有列或指定列中搜索:

一个字或短语;

一个字或短语的前缀;

与一个字相近的另一个字;

一个字的派生字;

一个重复出现的字。

CONTAINS语句的语法格式为:

CONTAINS({column *}),‘’) 其中,column说明被搜索列,使用时说明对表中所有全文索引列莲行搜索

Contains_ search_ condition说明CONTAINS语句的搜索内容,其语法格式为:

{||| |) [{|ANDIAND NOT|OR}}] [.n]

下面就simple_term和predix_term参数做一简要说明:

simple— term指出CONTAINS语句所搜索的单字或短语,当为一个短语时,必须使用双引号作为定界符。其格式为:

{word | “phrase”}

predix_term说明CONTAINS语句所搜索的字或短语前缀,其格式为:

{“word * ”| “phrase ”}

例如,下面语句检索b0ok表的title列和notes列中包含database或computer字符串的***书名称及其注释信息:

select title,notes from book

where contains(tilte,‘database’)or contains(notes,‘datable’)

or contains(title,‘computer’)or contains(notes,‘computer’)

FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符串,并返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做自由式全文查询。

FREETEXT语句的语法格式为:

FREETEXT({column * },‘freetext_string’)

其中,column说明被搜索列,使用*时说明对表中的所有全文索引列进行搜索。Freetext_string参数指出所搜索的自由文本格式字符串。

例如,下面语句使用FREETEXT语句搜索book表中包含Successful Life字符串的数据行:

select title,notes

from book

where freetext (*,‘Successful Life’)

4 结束语

通过学习和实践,我认为SQLServer2000的全文检索服务有以下优点:

第一,简单易用。由于SQLServer2000的全文检索服务已经集成到整个服务中,因此,全文检索可以使用“企业管理器”进行统一的***形界面的管理。而且,进行检索时可以使用标准的T—SQL语句,学习、使用十分方便。

第二,SQLServer2000功能强大。比如,其自身具有“噪音词”(noiseterm )过滤的机制。在“.MSSQL\TDATA\SQL Server\config”目录下,有一个“noise.dat”文件类似于停用词表,可以对一些没有检索意义的词如a、you等进行过滤而不建立索引。用户自己也可以对该词表进行增补,以过滤一些词。同时,我发现SQLServer2000的全文检索存在一些不足。如当用户对全文索引过的字段进行修改后,需要用户进行手工的“填充”,而不能机器自动完成这一步,另外该系统对计算机硬件要求较高等等。随着计算机硬件的发展以及SQL Server软件本身的不断完善,我相信这些不足是可以得到改善的。

SQL Server  全文检索技术

转载请注明出处学文网 » SQL Server 2000 全文检索技术

学习

什么叫方法?

阅读(34)

本文为您介绍什么叫方法?,内容包括什么叫方法和方式,谈谈方法全文。我在观看科教频道科教片《宇宙大爆炸》时,其中介绍了早在2000多年前希腊天文学家埃拉托西尼他就算出了地球大小,与今天实际地球大小相差无几,对此,我惊叹不已,深为折服,他就

学习

命题作文写作指导

阅读(19)

命题透析命题作文是一种较为常见的作文命题形式,以其命题的客观性和统一性,常常赢得出题者的青睐。与半命题作文、材料作文和话题作文相比,命题作文既有共性的一面,又有其独特的一面,因此,要在考场中写好命题作文,除了要把握好作文的一些基本要

学习

地球同步轨道通信卫星的轨道管理应用

阅读(25)

通讯卫星广泛的应用于广播电视和通信领域,具有传播距离远、覆盖面积大,信号质量高和传输容量大的优点,在全世界范围内得到广泛的应用。但是地球同步卫星的发射、测控和在轨管理却是一项非常复杂的技术。我国的同步卫星技术已处于世界领先地

学习

碌碡 7期

阅读(48)

院中,立着个碌碡。这个圆柱体,中间略大,两端略小,宜于绕着一个中心旋转,本是用来轧谷物、碾平场地的农具。小孩子摸着一棱一棱的碌碡,“这个用来干什么?”充满好奇。“它的任务是滚动。”我总是这么回答,小家伙们嘎嘎大笑,以为在说笑。其实陶制的

学习

《致富经》

阅读(34)

本文为您介绍《致富经》,内容包括致富经全文免费阅读,致富经全集养肉狗。掉进高价收蛋的陷阱以后2002年底,王金龙和姐夫李勇利从粮管所下岗了,两人拿着攒下的十几万元积蓄,准备建个蛋鸡养殖场。当时调查市场的时候,鸡蛋在2元多一斤,他们计算,

学习

基于C/S和B/S混合模式的教务管理系统设计与实现

阅读(45)

[摘要]基于Web的B/S模式可用于信息的浏览、查询与,适合作为领导辅助决策的支持。而C/S体系结构适用于信息管理、办公自动化等事务处理的系统。根据教务管理系统的开发要求和系统目标,将C/S和B/S这两种模式进行有机结合,用于系统的设计与

学习

中外恐怖电影存在的社会因素及文化审视对比

阅读(22)

内容中外恐怖电影存在的背景以及发展历程有着明显的差异,究其根本原因是中外恐怖电影存在的社会因素和文化因素大相径庭。结合中外经典恐怖电影代表作品,探索中外恐怖电影存在的社会因素以及文化因素并进行对比研究,既能为中国恐怖电影的发

学习

中韩自贸协定对中韩双边贸易的影响及对策

阅读(20)

中韩双边贸易持续发展多年,2014年中韩贸易额达2354亿美元,比上年增长2.8%,相当于韩国同美国和日本两个国家贸易额的总和。中韩自贸协定的签署不仅可以拉动两国经济的快速增长,还会给两国各自的比较优势带来机遇,对东亚将来的经济一体化乃至世

学习

解读IPO定价机制改革

阅读(26)

新股发行制度改革,有利于恢复证券市场的融资功能,实现IPO定价的合理性和资产定价的有效性。2009年5月22日,证监会了《关于进一步改革和完善新股发行体制的指导意见》(以下称《征求意见》),公开征求意见截至6月5日结束。新股发行制度的改革以及

学习

浅谈绿篱的种类及其在园林中的运用

阅读(19)

在城市绿化植物配置与造景中,常常要运用小乔木或灌木来形成绿篱,熟识植物的特征和习性,我们可以通过绿篱的种类、功能要求与观赏要求来看绿篱在园林中的运用。关键词:绿篱,种类,运用Abstract:inthecitygreenplantconfigurationandlandscape,of

学习

致命食肉菌来袭

阅读(21)

食肉菌是能够导致坏死性筋膜炎的一类细菌,其实它们并不真正地吃肉,而是通过伤口进入人体后有极强的繁殖能力,并且能够迅速产生大量毒素,侵蚀患者的身体组织,导致伤残、休克甚至死亡。这种凶猛的细菌却很容易被人忽视,因为坏死性筋膜炎以往的发

学习

介绍四“乾元重宝”脱谱钱

阅读(28)

“乾元重宝”系唐代肃宗乾元元年(公元前758年)始铸。早期的“乾元重宝”比“开元通宝”大几倍,形制规整、厚重,标准“乾元重宝”当十钱重约8克,重轮当五十大钱重约20克,而且要当十个或五十个“开元通宝”用,因此,货币一发行就遭到老百姓的反对。

学习

浅谈蒙汉翻译工作

阅读(26)

蒙汉双语翻译能够促进两族之间的文化交流与发展,因此,翻译者在进行翻译时,一定要从作品中民族的背景出发,在掌握了作品的深刻内涵之后,再进行翻译,以此来做好两族之间文化的交融,使翻译作品能够得到共同的认可,促进文化的交流与发展。关键词:蒙汉

学习

任素汐:过自己喜欢的生活,踏实和舒适

阅读(16)

“我叫任素汐,是中戏05导表班的,毕业十年一直在演话剧,《驴得水》基本上算是我演的第一部电影。我没有什么履历,也没有拍影视剧的资历,我演完这部电影之后还是会回去演舞台剧的。”对于当今的演员来说,任素汐的简历干净得简直“奇葩”,可是她却

学习

伸缩缝施工技术

阅读(18)

桥梁伸缩缝对公路车道的平整度影响较大,为了改善路面与桥面相接处的平整度,一方面应当加大桥梁的联孔长度以减少伸缩缝的数量,另一方面要不断改进伸缩缝的型式、材料以及设计和施工质量。本文拟就伸缩缝问题及其施工方法作如下简述。关键词

学习

石膏空心砌块施工技术

阅读(21)

随着我国建筑行业的不断发展,各种新工艺、新材料不断的在建筑业中得到广泛应用。石膏空心砌块作为一种新型墙体材料,在国外已有百余年的历史。石膏空心砌块是以石膏为主要原料,外加入掺合料和化学添加剂,经加水搅拌,浇注成型并经干燥处理的新

学习

解析AMD SB750南桥新技术

阅读(82)

为了对抗Intel45nm平台,AMD推出了蜘蛛平台,由于搭配了AMD7系列芯片组主板,使得Phenom处理器得以更好发挥,遗憾的是,早期的AMD蜘蛛平台只搭配了SB600南桥芯片,尽管后期被SB700南桥芯片取代,但仍然存在一些不足,为此AMD推出了SB750南桥芯片,其加入

学习

肉羊育肥技术要点

阅读(34)

肉羊育肥技术要点一、育肥前的准备肉羊育肥前要做好圈舍和饲草饲料的准备。羊舍要求冬暖夏凉、清洁卫生、平坦高燥,圈舍大小按每只羊占地面积0.8~1米2计算。育肥羊的饲料种类应多样化,尽量选用营养价值高、适口性好、易消化的饲料,主要包括

学习

高技术企业组织变革的阻力及化解

阅读(24)

内容本文主要运用管理学、心理学以及组织演变的基本原理,以分析高技术企业自身特征为切入点,在分析高技术企业在组织变革过程中阻力产生的原因、表现形式的基础上,提出高技术企业组织变革过程中产生阻力的化解方法,不仅具有重要的理论意义,而

学习

早酥梨的特征特性及盛果期整形修剪技术

阅读(52)

早酥梨属于新型的早熟梨品种,是由苹果梨和身不知梨杂交而成,这种酥梨的口味独特,研发的前景优良。为了培育高价值的早酥梨,有必要归纳这种梨品种的独特性,并归结早酥梨在盛果阶段的剪枝措施。要妥善整理和修剪早酥梨树木,就要侧重维护并加固树

学习

五轴联动数控技术的加工案例分析

阅读(19)

随着时代的发展和社会经济的进步,如今机械制造技术日趋成熟,人们对产品提出了更高的要求,产品形状结构日趋多样,越来越精密;采用传统的制造技术无法获得较高的工作效率,并且加工质量也无法得到保证。针对这种问题,就可以应用多轴数控加工技术。

学习

3S技术与3S集成

阅读(38)

通过介绍GIS,GPS,RS的概念,发展和相互之间的关系,阐述了3S集成是信息系统发展的必然趋势,归纳了目前3S集成技术的应用现状和发展前景。关键词:地理信息系统;遥感;全球定位系统;“3S”集成3STechnologyand3SIntegrationLiBi-wen(ShenzhenInvestigat