在SQL Server 2008中进行全文搜索:向现有停用词列表中添加新的停用词。

4

我正在使用SQL Server 2008进行全文检索。

我需要一次性将约100个新停用词添加到现有的停用词列表中。

应该如何操作?

3个回答

1
ALTER FULLTEXT STOPLIST [TableName.CatalogName] ADD 'NewStopWord' LANGUAGE 'Neutral';

显然,您需要用您的词替换'NewStopWord'。如果您想使停止词具有语言特定性,还可以更改'Neutral'。反复操作。
另外注意一点,在SQL 2008中,您只能指定[TableName],但在SQL 2012中,您可以指定[TableName.CatalogName]。这是有道理的,因为在2008年您每个表/视图只能有一个全文目录。

0

直接从MSDN获取:

  1. 在对象资源管理器中展开服务器。
  2. 展开数据库,然后展开要创建全文本停用词列表的数据库。
  3. 展开存储,然后右键单击“全文本停用词列表”。
  4. 选择“新建全文本停用词列表”。
  5. 指定停用词列表名称。
  6. 可选地,将其他人指定为停用词列表所有者。
  7. 选择以下其中一种创建停用词列表选项:
    • 创建空的停用词列表
    • 从系统停用词列表创建
    • 从现有的全文本停用词列表创建
  8. 有关详细信息,请参阅“新建全文本停用词列表(常规页面)”。

单击“确定”。


谢谢。这还可以。 但是,我想知道如何一次性将多个停用词添加到停用词列表中。目前,我们可以使用ALTER命令逐个添加停用词。 - Marcus25

0

试一下这个:

Create table StopListCustome (StopListCustome nvarchar(50))

BULK INSERT dbo.StopListCustome
FROM '\\SystemX\DiskZ\Sales\data\StopList.csv' --you can use other type of insert
WITH ( FORMAT='CSV');

SELECT 'ALTER FULLTEXT STOPLIST MyStoplist ADD ' + 
    quotename(StopListCustome, '''') + ' LANGUAGE ''English'''
FROM  StopListCustome

然后将结果复制并粘贴到新的查询窗口中并运行。如果您使用while进行插入,比像我这样的复制粘贴更好,您可以在游标中编写选择查询。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接