SqlServer 2005 简单的全文检索

时间:2021-09-22 05:12:08

复制代码 代码如下:


--查看当前数据库状态 1为已经启用了全文索引
SELECT DATABASEPROPERTY ('数据库名','IsFulltextEnabled')
--打开FullText功能
execute sp_fulltext_databse 'enable'
--关闭此功能
execute sp_fulltext_databse 'disable'
--创建全文索引目录
--删除全文目录 DROP FULLTEXT 目录名
CREATE FULLTEXT CATALOG 目录名
-- 每个表只可以有一个全文索引,存放在指定的索引目录里,可以通过向导创建,也可以通过SQL创建
-- indexname是指已存在的基于指定表的唯一索引名.而不是唯一索引列名.如果索引不存在,需要先创建唯一索引.
--删除全文索引 DROP FULLTEXT INDEX ON 表名
CREATE FULLTEXT INDEX ON 名称
(索引1,索引2...)
KEY INDEX indexname ON 表名
--全文索引查询
Select * from 表名
where contains( 列名, ' "202*" or "2*" ')
Select * from 表名
where FREETEXT( 列名, ' "202*" and "2*" ')
/*注:
FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个*文本格式的字符串,并
返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做*式全文查询。

CONTAINS语句的功能
是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一
个字;一个字的派生字;一个重复出现的字。
*/