MSSQL的【全文检索】配置设置(DDL)

 

 

 

全文检索,是MS-SQL中的一个特例组件(SQL Server FullText Search),可以对任何一个表中的任何一列,进行单词和短语以及他们多变的形式的查找,是基于(varchar,char,nchar,nvarchar,ntext,text)的列类型进行查找。


-- 创建全文检索新目录
EXEC  SP_FULLTEXT_CATALOG  ' TextTest ' , ' CREATE '

-- 创建需要检索的表
EXEC  SP_FULLTEXT_TABLE  ' Employees ' , ' CREATE ' , ' TextTest ' , ' PK_Employees '

-- 创建需要检索的列
EXEC  SP_FULLTEXT_COLUMN  ' Employees ' , ' FirstName ' , ' ADD '

EXEC  SP_FULLTEXT_COLUMN  ' Employees ' , ' LastName ' , ' ADD '

EXEC  SP_FULLTEXT_COLUMN  ' Employees ' , ' Address ' , ' ADD '

-- 启用对这个表全文检索
EXEC  SP_FULLTEXT_TABLE  ' Employees ' , ' ACTIVATE '

-- 设置改目录上的的全文检索全部开始
EXEC  SP_FULLTEXT_CATALOG  ' TextTest ' , ' Start_FULL '

-- 查看现有的检索目录
EXEC  SP_HELP_FULLTEXT_CATALOGS

-- 查看现有的检索表
EXEC  SP_HELP_FULLTEXT_TABLES

-- 查看现有的检索列
EXEC  SP_HELP_FULLTEXT_COLUMNS

启用查找使用到的2个谓语(CONTAINS,FREETEXT),2个函数(CONTAINSTABLE,FREETEXTTABLE);

例如:

CONTAINTS主要用于词的查询;

SELECT   *   FROM   [ Employees ]   WHERE   CONTAINS (Address, ' "*你*" ' )

FREETEXT主要用于短语和句子查询:

SELECT   *   FROM   [ Employees ]   WHERE   FREETEXT (Description, ' "Programmer With Love is good at show and talking,[有爱的程序员善于言表,] " ' )

至于CONTAINSTABLE,FREETEXTTABLE分别和CONTAINSTS,FREETEXT类似,不过他一般不用于WHERE后面,一般用在SELECT的子查询里面,而且比CONTAINSTS,FREETEXT复杂的多,必须准确的把函数返回满足条件的行显示地同原始SQL SERVER表的行联系接起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值