数据库教程:SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串

SQL Server 2008引入了标识出那些对全文索引搜索无益的普通字符串的能力。这些无益的字符串被称为非索引字(SQL Server的早期版本中称为干扰词),并且包含在非索引字表中。非索引字表包含一个或多个非索引字,以及用来在会文索引中连接。 SQL Server为所有支持的语言提供了包含普通非索引字的系统默认非索引字表。 使用CREATE FULLTEXT STOPLIST命令来创建你自定义的非索引字表。语法如下: CREATE FULLTEXT STOPLIST stop…

    SQL Server 2008引入了标识出那些对全文索引搜索无益的普通字符串的能力。这些无益的字符串被称为非索引字(SQL Server的早期版本中称为干扰词),并且包含在非索引字表中。非索引字表包含一个或多个非索引字,以及用来在会文索引中连接。 SQL Server为所有支持的语言提供了包含普通非索引字的系统默认非索引字表。
    使用CREATE FULLTEXT STOPLIST命令来创建你自定义的非索引字表。语法如下:    

 CREATE FULLTEXT STOPLIST stoplist_name   [ FROM { [ database_name.]source_stoplist_name } | SYSTEM STOPLIST ]   [ AUTHORIZATION owner_name ]   ;

        CREATE FULLTEXT STOPLIST参数

参  数  描  述
stoplist_name 提供新的用户定义的非索引字表的名称
database_name.]source_stoplist_name 可以从引用数据库名称,也可以引用从既有非索引字表复制的源非索引字表名称
SYSTEM STOPLIST 复制系统默认的非索引字表
AUTHORIZATION owner_name 定义数据库主体非索引字表的拥有者

1.创建新的、不是从既有的非索引字表复制而来的非索引字表(注意全文非索引字表语句必须以分号[;]来结束):

 USE AdventureWorks GO  CREATE FULLTEXT STOPLIST TSQLRecipes;

2.查询sys.fullext_stoplists系统目录视图:

 USE AdventureWorks GO  SELECT stoplist_id,name,principal_id FROM sys.fulltext_stoplists

SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串

3.    创建完非索引字表之后,使用ALTER FULLTEXT STOPLIST命令来填充它。这个命令的语法如下:

 ALTER FULLTEXT STOPLIST stoplist_name   {            ADD 'stopword' LANGUAGE language_term       | DROP        {           'stopword' LANGUAGE language_term          | ALL LANGUAGE language_term          | ALL        }   ;

        ALTER FULLTEXT STOPLIST参数

参  数 描  述
stoplist_ name 指定新用户定义的非索引字表的名称
ADD ‘stopword‘ 定义非索引字的字符串值。最长可以添加64个字符
LANGUAGE language_term   定义与非索引字关联的语言——可以是字符串(从sys.syslanguages中的另名)、整数(LCID)或十六进制表示(LCID的十六进    制值)
DROP  ‘stopword’ LANGUAGE language_term 指定删除指定的语言下指定的非索引字
DROP ALL LANGUAGE language_term 删除指定语言下的所有非索引字
DROP ALL 指定从非索引字表中删除所有非索引字

     假定为包含引用了SQL Server文档参考书的表生成索引。在这个例子中,术语“SQL”和”Server”在搜索的上下文中不是非常有用(几乎所有条目都会包含它)。因此增加两个新的非索引字到之前创建的非索引字表中:

 USE AdventureWorks GO  ALTER FULLTEXT STOPLIST TSQLRecipes ADD 'SQL' LANGUAGE 'English';  ALTER FULLTEXT STOPLIST TSQLRecipes ADD 'Server' LANGUAGE 'English';

    在增加两个新非索引字到非索引字表中之后,可以通过查询sys.fulltext_stopwords系统目录视  图来验证这个列表:

 USE AdventureWorks GO  SELECT stoplist_id,stopword,language FROM sys.fulltext_stopwords

SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串

4.将新非索引字表绑定到全文索引上:

 USE AdventureWorks GO  --示例表 CREATE TABLE dbo.SQLTopic ( 	SQLTopic int IDENTITY PRIMARY KEY, 	SQLTopicHeaderNM varchar(255) NOT NULL, 	SQLTopicBody varchar(max) NOT NULL ) --创建示例目录 CREATE FULLTEXT CATALOG ftcat_SQLDocumentation AS DEFAULT GO  --创建要绑定到新非索引字的全文索引 --使用sp_help 'dbo.sqltopic'来查看实际的主键约束名 CREATE FULLTEXT INDEX ON dbo.SQLTopic(SQLTopicBody) 	KEY INDEX PK_SQLTopic_AD5554EC442B18F2 	WITH STOPLIST=TSQLRecipes GO

使用sys.fulltext_indexes系统目录视图来确认绑定的非索引字表

 USE AdventureWorks GO  SELECT stoplist_id FROM sys.fulltext_indexes WHERE object_id=object_id('dbo.SQLTopic')

    可以通过使用sys .dm_fts_parser动态管理视图来测试我的新非索弓1字是否可以被全文引擎识别。这个DMV的语法如下:
    sys.dm_fts_parser(‘query_string’,1cid,stoplist_id,accent_sensitivity)

    第一个参数query_string,是可能会用在全文索引搜索中的查询字符串。lcid是地区标识符,stoplist_id是非索引字表的唯一ID(你可以从sys.fulltext_stoplists中检索)。 accent_sensitivity参数的值可以是1或0,表示你的搜索是否区分重音。如下的查询使用前面创建的非索引字表测试搜索短语SQL Server 2008 Transact-SQL Recipes来演示这个DMV:

 USE AdventureWorks GO  SELECT display_term,special_term FROM sys.dm_fts_parser('"SQL SERVER 2008 Transact-SQL Recipes"',1033,5,0)

5.    从非索引字表中删除非索引字(就算非索引字表已经绑定到全文索引上也是可以的);

 USE AdventureWorks GO  ALTER FULLTEXT STOPLIST TSQLRecipes DROP 'Server' LANGUAGE 'English';

    使用DROP FULLTEXT STOPLIST命令来删除非索引字表。但是要想删除它,必须先使用它从全文索引中对非索引字表解除绑定。

6.从全文索引中移除非索引字表的没置,然后删除非索引字表:

 USE AdventureWorks GO  ALTER FULLTEXT INDEX ON dbo.SQLTopic SET STOPLIST SYSTEM GO  DROP FULLTEXT STOPLIST TSQLRecipes;

 

数据库技术:SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串地址:https://blog.csdn.net/ngbshzhn/article/details/107627309

需要了解更多数据库技术:SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/630403.html

(0)
上一篇 2021年5月30日
下一篇 2021年5月30日

精彩推荐