全文索引一二三

来源:互联网 发布:红中麻将app源码 编辑:程序博客网 时间:2024/04/27 08:04

一、全文搜索的启用

首先应该启动全文搜索服务,可在外围应用配置服务器中启动,也可在SSMS中启动,或者直接在控制台中启用“SQL Server FullText Search(MSSQLSERVER)”服务。对于具体数据库来说,要使用全文搜索仍然需要先启用,启用的方法是用系统存储过程sp_fulltext_database:

use [databasename]
go
exec sp_fulltext_database 'enable';
go

此功能在SSMS上似乎并没有找到,因为在数据库名称项上点右键没有相关选项出现,不知是否和版本有关。执行了上述操作后,在相应数据库下表名称项上点右键,弹出的菜单中“全文索引”下的“定义全文索引”命令才可用。在定义全文索引之前应该先定义全文目录,因为全文索引和普通索引不同,它是基于标志的功能性索引,需要用文件的方式存放这些信息。

二、几个术语

全文目录:存储全文索引的地方,必须驻留在与SQL Server实例相关联的本地硬盘上,每个全文目录可用于满足数据库内的一个或多个表的索引需求。

断字符与词干分析器:根据不同的语言特点确定哪几个字符是词并进行分析。

标记:由断字符标识的词或字符串。

筛选器:对二进制格式的字段提取文本信息,建立索引。

填充:创建全文索引的过程,俗称爬网。

干扰词:经常出现,但又不是要搜索的词。

三、全文搜索查询

contains/containstable:用于where子句。

freetext/freetexttable:和上面的区别在于将子句中每一个单字分开进行搜索。

四、Image字段的搜索

如果存储的是office文档或文本网页也能建立全文索引并查询,在建立索引时需要指定类型列,也就是文档的扩展名,所以在建表时应该有一个字段用于存放文档的扩展名。

原创粉丝点击