ALTER FULLTEXT STOPLIST (Transact-SQL)
在当前数据库的默认全文非索引字表中插入或删除非索引字。
重要提示 |
---|
只有在 100 兼容级别下,才支持 CREATE FULLTEXT STOPLIST。在 80 和 90 兼容级别下,会始终为数据库分配系统非索引字表。 |
语法
ALTER FULLTEXT STOPLIST stoplist_name
{
ADD [N] 'stopword' LANGUAGE language_term
| DROP
{
'stopword' LANGUAGE language_term
| ALL LANGUAGE language_term
| ALL
}
;
参数
stoplist_name
要更改的非索引字表的名称。stoplist_name 最多可包含 128 个字符。'stopword'
一个字符串,它可能是在指定的语言中具有语义的词或没有语义的标记。stopword 不能超过最大标记长度(64 个字符)。非索引字可被指定为 Unicode 字符串。LANGUAGE language_term
指定与要添加或删除的 stopword 关联的语言。可将 language_term 指定为与语言区域设置标识符 (LCID) 对应的字符串、整数或十六进制值,如下所示:
格式
说明
String
language_term 对应于 sys.syslanguages (Transact-SQL) 兼容性视图中 alias 列的值。字符串必须用单引号引起来,如 'language_term'。
Integer
language_term 是语言的 LCID。
Hexadecimal
language_term 将以 0x 开头,后面跟有 LCID 的十六进制值。十六进制值不能超过八位(包括前导零在内)。如果该值是双字节字符集 (DBCS) 格式,则 SQL Server 将其转换为 Unicode 格式。
ADD 'stopword' LANGUAGE language_term
将非索引字添加到由 LANGUAGE language_term 指定的语言的非索引字表中。如果指定的关键字及语言 LCID 值组合在 STOPLIST 中不是唯一的,则将返回错误。如果 LCID 值与已注册的语言不对应,则会产生一个错误。
DROP { 'stopword' LANGUAGE language_term | ALL LANGUAGE language_term | ALL }
从非索引字表中删除非索引字。'stopword' LANGUAGE language_term
删除由 language_term 指定的语言的指定非索引字。ALL LANGUAGE language_term
删除由 language_term 指定的语言的所有非索引字。ALL
删除非索引字表中的所有非索引字。
注释
无。
权限
若要将非索引字表指定为数据库的默认非索引字表,则需要 ALTER DATABASE 权限。另外,若要更改非索引字表,则必须是非索引字表的所有者或者具有 db_owner 或 db_ddladmin 固定数据库角色的成员身份。
示例
下面的示例将更改名为 CombinedFunctionWordList 的非索引字表,首先为 Spanish 添加单词 en,然后为 French 也添加这个单词。
ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'Spanish';
ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'French';