SQLServer2000全文检索的使用方案描述

以下的文章主要描述的是SQL Server 2000全文检索的具体使用,在对其实际操作感疑惑至多?以下就是对其具体方案的描述,希望在你今后的学习中会有所帮助。我们大家都知道微软的SQL Server数据库是一个在中低端企业应用中占有广泛市场的关系型数据库系统。

创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元鲁甸做网站,已为上家服务,为鲁甸各地企业和个人服务,联系电话:18982081108

它以简单、方便、易用等特性深得众多软件开发人员和数据库管理人员的钟爱。但SQL Server 7.0以前的数据库系统由于没有全文检索功能,致

微软的SQL Server数据库是一个在中低端企业应用中占有广泛市场的关系型数据库系统,它以简单、方便、易用等特性深得众多软件开发人员和数据库管理人员的钟爱。但SQL Server 7.0以前的数据库系统由于没有SQL Server 2000全文检索功能,致使无法提供像文本内容查找此类的服务,成为一个小小的遗憾。从SQL Server 7.0起,到如今的SQL Server 2000终于具备了SQL Server 2000全文检索功能,使用户可以高效地检索存储在数据库char、varchar、text、ntext、nchar、nvarchar等数据类型列中的文本数据。

建立全文索引

在进行全文检索之前,必须先建立和填充数据库全文索引。为了支持全文索引操作,SQL Server 7.0新增了一些存储过程和Transact-SQL语句。使用这些存储过程创建全文索引的具体步骤如下(括号内为调用的存储过程名称):

1. 启动数据库的全文处理功能(sp_fulltext_

database);;

2. 建立全文检索目录(sp_fulltext_catalog);

3.在全文检索目录中注册需要全文索引的表(sp_fulltext_table);

4. 指出表中需要SQL Server 2000全文检索的列名(sp_fulltext_

column);;

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

6. 填充全文检索目录(sp_fulltext_catalog)。

下面举例说明如何创建全文索引,在本例中,对Test数据库Book表中Title列和Notes列建立全文索引。

use test 打开数据库

打开全文索引支持,启动SQL Server的全文搜索服务

 
 
 
  1. execute sp_fulltext_database ‘enable’ 

建立SQL Server 2000全文检索目录ft_test

 
 
 
  1. execute sp_fulltext_catalog ‘ft_test’, ‘create’ 

为Title列建立全文索引数据元,pk_title为Book表中由主键所建立的唯一索引,这个参数是必需的。

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

设置全文索引列名

 
 
 
  1. execute sp_fulltext_column ‘book’, ‘title’, ‘add’  
  2. execute sp_fulltext_column ‘book’,‘notes’, ‘add’  

 

建立全文索引

 
 
 
  1. execute sp_fulltext_table ‘book’, ‘activate’ 

填充全文索引目录

 
 
 
  1. execute sp_fulltext_catalog ‘ft_test’, ‘start_full’ 

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

进行全文检索

SQL Server 2000提供的SQL Server 2000全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。

CONTAINS语句的语法格式为:

 
 
 
  1. CONTAINS({column | *}), 
  2. _condition>) 

 

其中,column是搜索列,使用“*”时说明对表中所有全文索引列进行搜索。Contains_search_

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

 
 
 
  1. {||||}[{{AND|AND NOT|OR}}] [...n] 

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

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

 
 
 
  1. {‘word’|“ phrase”} 

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

 
 
 
  1. {“word*” | “phrase*”} 

例如,下面语句检索Book表的Title列和Notes列中包含“database”或“computer”字符串的图书名称及其注释信息:

 
 
 
  1. select title, notes  
  2. from book  
  3. where contains(tilte, ‘database’) or contains(notes,‘database’)  
  4. or contains(title,‘computer’) or contains(notes,‘computer’)  

 

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

FREETEXT语句的语法格式为:FREETEXT({column | * },‘freetext_string’)

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

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

 
 
 
  1. select title, notes  
  2. from book  
  3. where freetext(*,‘Successful Life’)   

 

以上的相关内容就是对SQL Server 2000全文检索的使用的介绍,望你能有所收获。

标题名称:SQLServer2000全文检索的使用方案描述
网页网址:http://www.zyruijie.cn/qtweb/news31/6731.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联