Sql 2005 全文索引

本文介绍如何在SQL Server 2005中使用Northwind示例数据库进行全文索引的创建与应用。具体步骤包括启用全文索引、创建全文目录、配置全文索引,并对Customers和Employees表进行索引,最终实现高效的内容搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sql 2005 全文索引
用Northwind示例数据库
操作其Customers表
--初始化全文索引
EXEC sp_fulltext_database 'enable'
GO
 
--创建一个名为test 的全文目录
EXEC sp_fulltext_catalog 'test', 'create'
GO
 
--创建并填充全文索引
EXEC sp_fulltext_table 'Customers','create','test','PK_Customers'
EXEC sp_fulltext_column 'Customers','CompanyName','add',0x0804
EXEC sp_fulltext_table 'Customers','start_change_tracking'
EXEC sp_fulltext_table 'Customers','Start_background_updateindex'
GO
 
WAITFOR DELAY '00:00:15'
--延时后可以检索到数据
SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'La')
SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'Hungry')
GO
 
得到两个数据集
 
再加一列
EXEC sp_fulltext_column 'Customers','ContactName','add',0x0804
EXEC sp_fulltext_table 'Customers','start_change_tracking'
EXEC sp_fulltext_table 'Customers','Start_background_updateindex'
 
再来搜索
SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'La')
or CONTAINS(ContactName,N'Elizabeth')
 

再加一个表
试验:2005支持ntext查询
select * from Employees where Notes like '%Steven%'
 
EXEC sp_fulltext_table 'Employees','create','test','PK_Employees'
EXEC sp_fulltext_column 'Employees','Notes','add',0x0804
EXEC sp_fulltext_table 'Employees','start_change_tracking'
EXEC sp_fulltext_table 'Employees','Start_background_updateindex'
GO
结果
警告: 表或索引视图'Employees' 具有类型为imagetext ntext 的全文索引列。全文更改跟踪无法跟踪对这些列执行的WRITETEXT UPDATETEXT 操作。
SELECT * FROM Employees WHERE CONTAINS(Notes,N'Steven')

Sql 2005 全文索引

Northwind示例数据库

操作其Customers

--初始化全文索引

EXEC sp_fulltext_database 'enable'

GO

 

--创建一个名为test 的全文目录

EXEC sp_fulltext_catalog 'test', 'create'

GO

 

--创建并填充全文索引

EXEC sp_fulltext_table 'Customers','create','test','PK_Customers'

EXEC sp_fulltext_column 'Customers','CompanyName','add',0x0804

EXEC sp_fulltext_table 'Customers','start_change_tracking'

EXEC sp_fulltext_table 'Customers','Start_background_updateindex'

GO

 

WAITFOR DELAY '00:00:15'

--延时后可以检索到数据

SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'La')

SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'Hungry')

GO

 

得到两个数据集

 

再加一列

EXEC sp_fulltext_column 'Customers','ContactName','add',0x0804

EXEC sp_fulltext_table 'Customers','start_change_tracking'

EXEC sp_fulltext_table 'Customers','Start_background_updateindex'

 

再来搜索

SELECT * FROM Customers WHERE CONTAINS(CompanyName,N'La')

or CONTAINS(ContactName,N'Elizabeth')

 


再加一个表

试验:2005支持ntext查询

select * from Employees where Notes like '%Steven%'

 

EXEC sp_fulltext_table 'Employees','create','test','PK_Employees'

EXEC sp_fulltext_column 'Employees','Notes','add',0x0804

EXEC sp_fulltext_table 'Employees','start_change_tracking'

EXEC sp_fulltext_table 'Employees','Start_background_updateindex'

GO

结果

警告: 表或索引视图'Employees' 具有类型为imagetext ntext 的全文索引列。全文更改跟踪无法跟踪对这些列执行的WRITETEXT UPDATETEXT 操作。

SELECT * FROM Employees WHERE CONTAINS(Notes,N'Steven')

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值