本文共 2440 字,大约阅读时间需要 8 分钟。
一个完整的SQL SERVER数据库全文索引的示例。(以pubs数据库为例)首先,介绍利用系统存储过程创建全文索引的具体步骤: 1 ) 启动数据库的全文处理功能 (sp_fulltext_database) 2 ) 建立全文目录 (sp_fulltext_catalog) 3 ) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4 ) 指出表中需要全文索引的列名 (sp_fulltext_column) 5 ) 为表创建全文索引 (sp_fulltext_table) 6 ) 填充全文目录 (sp_fulltext_catalog) -- -------********示例********------------- 以对pubs数据库的title和notes列建立全文索引,之后使用索引查询title列或notes列中包含有datebase 或computer字符串的图书名称:在这之前,需要安装Microsoft Search服务,启动SQL server全文搜索服务 user pubs -- 打开数据库 go -- 检查数据库pubs是否支持全文索引,如果不支持 -- 则使用sp_fulltext_database 打开该功能 if ( select databaseproperty ( ' pubs ' , ' isfulltextenabled ' )) = 0 execute sp_fulltext_database ' enable ' -- 建立全文目录FT_PUBS execute sp_fulltext_catalog ' FT_pubs ' , ' create ' -- 为title表建立全文索引数据元 execute sp_fulltext_table ' title ' , ' create ' , ' FT_pubs ' , ' UPKCL_titleidind ' -- 设置全文索引列名 execute sp_fulltext_column ' title ' , ' title ' , ' add ' execute sp_fulltext_column ' title ' , ' notes ' , ' add ' -- 建立全文索引 -- activate,是激活表的全文检索能力,也就是在全文目录中注册该表 execute sp_fulltext_table ' title ' , ' activate ' -- 填充全文索引目录 execute sp_fulltext_catalog ' FT_pubs ' , ' start_full ' go -- 检查全文目录填充情况 While fulltextcatalogproperty ( ' FT_pubs ' , ' populateStatus ' ) <> 0 begin -- 如果全文目录正处于填充状态,则等待30秒后再检测一次 waitfor delay ' 0:0:30 ' end -- 全文目录填充完成后,即可使用全文目录检索 select title from where CONTAINS (title, ' database ' ) or CONTAINS (title, ' computer ' ) or CONTAINS (notes, ' database ' ) or CONTAINS (notes, ' database ' ) ' --------------以下介绍一下全文操作类的系统存储过程过程名称:sp_fulltext_service执行权限:serveradmin或系统管理员作 用:设置全文搜索属性过程名称:sp_fulltext_catalog执行权限:db_owner及更高角色成员作 用:创建和删除一个全文目录,启动或停止一个全文目录的索引操作过程名称:sp_fulltext_database执行权限:db_owner角色成员作 用:初始化全文索引或删除数据库中所有全文目录过程名称:sp_fulltext_table执行权限:db_ddladnmin或db_owner角色成员作 用:将一个表标识为全文索引表或非全文索引表过程名称:sp_fulltext_column 执行权限:db_ddladnmin角色成员作 用:指出一个全文索引表中的那些列假如或退出全文索引 --创建唯一索引create unique clustered index Idx_Email_Data_id on dbo.Email_Data(id)--开启execute sp_fulltext_database 'enable'--创建全文目录 execute sp_fulltext_catalog 'FT_Email_Data','create'--CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT execute sp_fulltext_table 'Email_Data','create','FT_Email_Data','Idx_Email_Data_id' execute sp_fulltext_table 'Email_Data','drop' execute sp_fulltext_column 'Email_Data','Campaign','add' --为表创建全文索引 execute sp_fulltext_table 'Email_Data','activate' --填充全文目录execute sp_fulltext_catalog 'FT_Email_Data','start_full' 转载地址:http://mwbmi.baihongyu.com/