首页  ·  知识 ·  数据库
SQLServer全文搜索
网友    MS-SQL  编辑:dezai   图片来源:网络
使用全文搜索可以快速、灵活地为存储在 Microsoft SQL Server 数据库中的文本数据的基于关键字的查询创建索引。

全文搜索的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持
使用全文搜索可以快速、灵活地为存储在 Microsoft SQL Server 数据库中的文本数据的基于关键字的查询创建索引。与仅适用于字符模式的 LIKE 谓词不同,全文查询将根据特定语言的规则对词和短语进行操作,从而针对此数据执行语言搜索
在 Microsoft SQL Server 2005 中,全文搜索用于提供企业级搜索功能。由于在性能、可管理性和功能方面的显著增强,全文搜索可为任意大小的应用程序提供强大的搜索功能。

对大量非结构化的文本数据进行查询时,使用全文搜索获得的性能优势会得到充分的表现。对数百万行文本数据执行的 LIKE 查询可能需要花费几分钟时间才能返回结果;但对同样的数据,全文查询只需要几秒或更少的时间,具体取决于返回的行数。

可以对包含 char、varchar 和 nvarchar 数据的列创建全文索引。也可以对包含格式化二进制数据(如存储在 varbinary(max) 或 image 列中的 Microsoft Word文档)的列创建全文索引。不能使用 LIKE 谓词来查询格式化的二进制数据。


最简步骤:(以AdventureWorks数据库中的databaselog表中的event字段为例)
1、  启用全文索引:
use AdventureWorks
exec sp_fulltext_database 'enable'

2、  全文索引是存储在指定的文件系统中的,而不是SQLServer中。
exec sp_fulltext_catalog 'Cat_Desc', 'create', 'f:\ft'
创建全文索引的目录

3、  对表创建全文索引
exec sp_fulltext_table 'databaselog', 'create', 'Cat_Desc',
'PK_DatabaseLog_DatabaseLogID'
在已有的表上根据已有的索引创建全文索引

4、  对表中的列添加全文索引
exec sp_fulltext_column 'databaselog', 'event', 'add'

5、  表启动完全填充
exec sp_fulltext_table 'databaselog', 'start_full'

6、  执行全文检索
select * from freetexttable(databaselog, event,'ALTER_TABLE');

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读