【问题标题】:SQL Full-Text-Search returns no results when any noise words are in search string当搜索字符串中有任何干扰词时,SQL 全文搜索不返回任何结果
【发布时间】:2010-06-24 20:10:50
【问题描述】:

我有一个 asp.net 网页,用于使用 FTS 在我们的数据库中搜索公司名称。他们在搜索框中输入公司名称并提交。

首先我修剪所有前导或尾随空格,然后将每个内部空格替换为“ NEAR ”。

所以搜索:

"The Association of Lefthanded Picklepickers"

喂食为:

"The NEAR Association NEAR of NEAR Lefthanded NEAR Picklepickers"

进入搜索结果网格使用的以下 WHERE 子句:

WHERE CONTAINS(CompanyName, @Search)

此方法非常有效,直到干扰词(the、is、and、to 等)成为用户搜索的一部分。发生这种情况时,SQL 服务器不返回任何搜索结果。在上述搜索的情况下,即使数据库中存在具有确切名称的公司,“of”一词也会中断搜索。

我应该怎么做才能克服这个问题?

非常感谢您的想法和建议!

【问题讨论】:

    标签: sql sql-server sql-server-2005 full-text-search


    【解决方案1】:

    尝试使用此处所述的转换噪声词选项:http://technet.microsoft.com/en-us/library/ms187914(SQL.90).aspx

    sp_configure 'show advanced options', 1
    RECONFIGURE
    GO
    sp_configure 'transform noise words', 1
    RECONFIGURE
    GO
    

    【讨论】:

    • 是的,这是一个服务器范围的设置。
    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多