【问题标题】:Full text search in SQL Server 2008 : add new stopword to existing stop listSQL Server 2008 中的全文搜索:将新的停用词添加到现有的停用词列表
【发布时间】:2012-07-21 14:56:44
【问题描述】:

我正在 SQL Server 2008 中进行 FTS。

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

如何做到这一点?

【问题讨论】:

    标签: full-text-search stop-words


    【解决方案1】:

    直接取自MSDN

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

    点击确定。

    【讨论】:

    • 谢谢。这没关系。但是,我想知道如何一次将许多停用词添加到停用词列表中。对了,现在我们可以使用 ALTER 命令一一添加停用词了。
    【解决方案2】:
    ALTER FULLTEXT STOPLIST [TableName.CatalogName] ADD 'NewStopWord' LANGUAGE 'Neutral';
    

    显然你需要用你的话替换'NewStopWord'。如果您想指定停用词语言,也可以更改'Neutral'。冲洗。重复。

    还有一个注意事项。在 SQL 2008 中,您只能指定 [TableName],但在 SQL 2012 中,您可以指定 [TableName.CatalogName]。这是有道理的,因为在 2008 年,每个表/视图只能有一个全文目录。

    【讨论】:

      【解决方案3】:

      试试这个:

      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
      

      然后copy & past 产生新的查询窗口并运行它。如果你使用while进行插入比像我一样复制过去更好,你可以在Cursor中编写选择查询。

      【讨论】:

        猜你喜欢
        • 2013-02-19
        • 2011-02-01
        • 2012-01-16
        • 1970-01-01
        • 2014-01-06
        • 1970-01-01
        • 2010-11-18
        • 1970-01-01
        • 2010-11-11
        相关资源
        最近更新 更多