命令方式创建全文检索
SQL2005系统数据库中为我们提供了一整套跟全文检索相关的存储过程,学会调用事半功倍。
一、全文索引的启用和禁用
1、 数据库启用全文检索
Exec sp_fulltext_database 'enable'
2、 数据库关闭全文检索
Exec sp_fulltext_database 'disable'
二、建立全文目录
1、创建全文目录
Exec sp_fulltext_catalog '目录名', 'create'
2、重建全文目录Exec sp_fulltext_catalog '目录名', ' rebulid'
3、启动全文目录的填充Exec sp_fulltext_catalog '目录名', 'start_full'
4、停止全文目录的填充Exec sp_fulltext_catalog '目录名', 'stop'
5、删除全文目录select * from sys.fulltext_catalogs(查找目录名)
Exec sp_fulltext_catalog '目录名', 'drop'
三、为表建立全文索引数据原
1、建立的唯一索引
Exec sp_fulltext_table '表名','create', '目录名', ' 唯一索引健'
2、设置全文索引列名Exec sp_fulltext_column ' 表名 ', 列名', 'add'
Go
3、激活全文索引Exec sp_fulltext_table '表名','activate
4、填充全文索引目录Exec sp_fulltext_catalog '表名 ', 'start_full'
四、使用Transact-SQL进行全文检索,我们使用CONTAINS、FREETEXT等谓词
1、检索ProductName中,即包含b又包含c的所有列
SELECT *
FROM 表名 WHERE CONTAINS(列名, '"c*" and "b*" ') (*号表示匹配以*号前字符开始的关键字)
2、检索ProductName中,即包含某词组的所有列
SELECT *
FROM 表名 WHERE FREETEXT(列名, '词组'')
五、全文查询有关的系统存储过程
(1)启动数据库的全文处理功能(sp_fulltext_datebase);
(2)建立全文目录(sp_fulltext_catalog);
(3)在全文目录中注册需要全文索引的表(sp_fulltext_table);
(4)指出表中需要全文检索的列名(sp_fulltext_column)
(5)为表创建全文索引(sp_fulltext_table);
(6)填充全文索引(sp_fulltext_catalog)。
企业管理器中创建全文索引
SQL2005企业版功能
可以通过图形界面创建全文索引。(SQL2005 express可以直接启用全文索引服务加载企业版创建好的全文索引。)
注意:手动创建的全文检索需要定期更新。SQL自动创建的全文检索启用自动更新后有一定的延时。