SQL Server -- 从全文索引中去掉普通字符串

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

使用CREATE FULLTEXT STOPLIST命令来创建你自定义的非索引字表。语法如下:

 
 
 
  1. CREATE FULLTEXT STOPLIST stoplist_name
  2. [ FROM { [ database_name. ] source_
    stoplist_name } | SYSTEM STOPLIST ]
  3. [ AUTHORIZATION owner_name ];

这个命令的参数在表6-6中有描述。

表6-6 CREATE FULLTEXT STOPLIST参数


在这个示例中,将创建新的、不是从既有的非索引字表复制而来的非索引字表(注意全文非索引字表语句必须以分号[;]来结束):

 
 
 
  1. CREATE FULLTEXT STOPLIST TSQLRecipes;

为了确认新非索引字表的细节,可以查询sys.full_text_stoplists系统目录视图:

 
 
 
  1. SELECT stoplist_id,name,principal_id
  2. FROM sys.fulltext_stoplists

这个查询返回:

 
 
 
  1. stoplist_id name principal_id
  2. 5 TSQLRecipes 1

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

 
 
 
  1. ALTER FULLTEXT STOPLIST stoplist_name
  2. { ADD 'stopword' LANGUAGE language_term
  3. | DROP
  4. {
  5. 'stopword' LANGUAGE language_term
  6. | ALL LANGUAGE language_term
  7. | ALL };

这个命令的参数在表6-7中有描述。

表6-7 ALTER FULLTEXT STOPLIST参数

参数

描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值