代码改变世界

如何使用SQL Server 2000全文检索

2005-08-10 13:40  Jeffrey Lee  阅读(739)  评论(1编辑  收藏  举报

一、如何在SQL中启用全文检索功能
1、验证全文检索服务是否安装
通过储存过程FULLTEXTSERVICEPROPERTY(返回有关全文服务级别属性的信息)来验证搜索服务(全文组件)是否安装。如Select fulltextserviceproperty (‘IsFullTextInstalled’):返回1表示已安装全文组件;返回0表示未安装全文组件;返回Null表示输入无效或发生错误。
2、启动全文检索服务(MircoSoft Search)
3、打开数据库全文索引的支持
为全文索引启用数据库:

Use Northwind
Exec sp_fulltext_database 'enable'

从数据库中删除所有目录:

Use Northwind
Exec sp_fulltext_database 'disable'

二、建立全文目录
1、创建全文目录

Use Northwind
Exec sp_fulltext_catalog 'ft_ Catalog ', 'create'

2、重建全文目录

Use Northwind
Exec sp_fulltext_catalog 'ft_ Catalog', 'rebulid'

3、启动全文目录的填充

Use Northwind
Exec sp_fulltext_catalog 'ft_ Catalog', 'start_full'

4、停止全文目录的填充

Use Northwind
Exec sp_fulltext_catalog 'ft_ Catalog', 'stop'

5、删除全文目录

Use Northwind
PK_Products
Exec sp_fulltext_catalog 'ft_ Catalog', 'drop'

三、为表建立全文索引数据元
1、建立的唯一索引

Use Northwind
Exec sp_fulltext_table 'Products','create', 'ft_ Catalog', 'PK_Products'

2、设置全文索引列名

Use Northwind
Exec sp_fulltext_table 'Products','create', 'ft_ Catalog', 'PK_Products'

3、设置全文索引列名

Use Northwind
Exec sp_fulltext_column 'Products', 'ProductName', 'add'
Go
Exec sp_fulltext_column 'Products', 'QuantityPerUnit', 'add'
Go

4、激活全文索引

Use Northwind
Exec sp_fulltext_table 'Products','activate'

5、填充全文索引目录

Use Northwind
Exec sp_fulltext_catalog 'ft_ Catalog', 'start_full'

四、使用Transact-SQL进行全文检索,我们使用CONTAINS、FREETEXT等谓词
1、检索ProductName中,即包含b又包含c的所有列

Use Northwind
SELECT *
FROM Products
WHERE CONTAINS(ProductName, '"c*" and "b*"')

2、检索ProductName中,即包含chai chang tofu之一的所有列

Use Northwind
SELECT *
FROM Products
WHERE FREETEXT(ProductName, 'chai chang tofu')

五、全文查询有关的系统存储过程
(1)启动数据库的全文处理功能(sp_fulltext_datebase);
(2)建立全文目录(sp_fulltext_catalog);
(3)在全文目录中注册需要全文索引的表(sp_fulltext_table);
(4)指出表中需要全文检索的列名(sp_fulltext_column)
(5)为表创建全文索引(sp_fulltext_table);
(6)填充全文索引(sp_fulltext_catalog)。