ALTER FULLTEXT STOPLIST (Transact-SQL)
在当前数据库的默认全文非索引字表中插入或删除非索引字。
适用范围:SQL Server(SQL Server 2008 到当前版本) SQL 数据库 V12。 |
语法
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_termLANGUAGE
指定与要添加或删除的 stopword 关联的语言。可将 language_term 指定为与语言区域设置标识符 (LCID) 对应的字符串、整数或十六进制值,如下所示:
格式
说明
字符串
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_term LANGUAGE
将非索引字添加到由 LANGUAGE language_term 指定的语言的非索引字表中。如果指定的关键字及语言 LCID 值组合在 STOPLIST 中不是唯一的,则将返回错误。如果 LCID 值与已注册的语言不对应,则会产生一个错误。
DROP { 'stopword' LANGUAGE language_term | ALL LANGUAGE language_term | ALL }
从非索引字表中删除非索引字。'stopword' LANGUAGE language_term
删除由 language_term 指定的语言的指定非索引字。language_termALL LANGUAGE
删除由 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)
为全文搜索配置和管理非索引字和非索引字表