【问题标题】:Can't use words like "Can", "of" in full text Search不能在全文搜索中使用“Can”、“of”等词
【发布时间】:2010-11-12 08:16:53
【问题描述】:

我正在使用 MsSQL server 2008,我正在使用 CONTAINSTABLE 和搜索词“can”,但搜索查询没有返回任何内容,因为该目录没有附加停止列表。

从城市 c 中选择不同的 c.ID INNER JOIN CONTAINSTABLE(City, (Name), '"can"') AS city_tbl1 ON city_tbl1.[KEY] = c.ID

为了确保这种情况存在,我运行了这个查询

更新城市 SET Name = 'can' WHERE ID = 34

没有返回结果。

请帮忙。

提前致谢 --Z

【问题讨论】:

  • 我刚刚删除了我的答案,指出这可能与全文搜索的最小长度有关,因为我现在不太确定 sql server 中是否是这种情况。这显然是在 MySQL 中发生的事情,所以也许这就是暗示。

标签: sql-server full-text-search


【解决方案1】:

SQL Server 有一个文本文件,其中包含在搜索中被忽略的常用词。如果要添加/删除单词,请查看目录 Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTDATA\

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    这些词就是所谓的“停用词”。它们会被全文引擎忽略。

    在 mssql 2008 中,您可以通过执行以下代码来清除停用词表:

    --禁用停用词过滤器--

    use yourDatabase;
    
    create fulltext stoplist EmptyStopList;
    
    alter fulltext index on yourFullTextTable
    set stoplist EmptyStopList;
    

    如果上述命令不起作用,请确保您的数据库兼容级别设置为 100(这意味着它是 2008 数据库)。

    --确保--

    EXEC sp_dbcmptlevel youDatabase, 100;
    

    【讨论】:

      【解决方案3】:

      感谢您的回复。在您提到配置后我想通了,所以非常感谢。

      但问题是 can 存在于以某种方式控制索引的系统停用词中,因此在配置中我启用了转换噪声词。

      sp_configure '转换噪声词', 1; 走 重新配置;

      这只是让它工作。

      非常感谢您的回复。 干杯 --Z

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-08
        相关资源
        最近更新 更多