ALTER FULLTEXT STOPLIST (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

在当前数据库的默认全文非索引字表中插入或删除非索引字。

Transact-SQL 语法约定

语法

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

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

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
十六进制 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
删除非索引字表中的所有非索引字。

备注

只有在兼容级别为 100 或更高时,才支持 CREATE FULLTEXT STOPLIST。 在 80 和 90 兼容级别下,会始终为数据库分配系统非索引字表。

权限

若要将非索引字表指定为数据库的默认非索引字表,则需要 ALTER DATABASE 权限。 另外,若要更改非索引字表,则必须是非索引字表的所有者或者具有 db_owner 或 db_ddladmin 固定数据库角色的成员身份

示例

下面的示例将更改名为 CombinedFunctionWordList 的非索引字表,首先为西班牙语添加单词“en”,然后为法语添加单词“en”。

ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'Spanish';  
ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'French';  

另请参阅

CREATE FULLTEXT STOPLIST (Transact-SQL)
DROP FULLTEXT STOPLIST (Transact-SQL)
为全文搜索配置和管理非索引字和非索引字表
sys.fulltext_stoplists (Transact-SQL)
sys.fulltext_stopwords (Transact-SQL)
为全文搜索配置和管理非索引字和非索引字表