SqlServer 2005 简单的全文检索
程序员文章站
2023-12-25 11:43:45
复制代码 代码如下:--查看当前数据库状态 1为已经启用了全文索引 select databaseproperty ('数据库名','isfulltextenabled')...
复制代码 代码如下:
--查看当前数据库状态 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语句的功能
是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一
个字;一个字的派生字;一个重复出现的字。
*/