全文搜索条件'控制'中'of'附近的语法错误

时间:2012-02-24 17:19:01

标签: sql-server-2008 full-text-search contains

我有以下WHERE条款:

WHERE (@Keywords IS NULL
            OR (CONTAINS((p.Title, p.Area, p.[Message]), @Keywords))
        )

如果@Keywords = 'control',则查询成功执行并过滤我的记录

如果@Keywords = 'control of',则会收到以下错误:

  

在全文搜索条件'控制'。

中'of'附近的语法错误

为什么这样做以及我该怎么做才能解决问题?

我使用此方法而不是使用LIKE条件的主要原因是我可以搜索多个单词。

1 个答案:

答案 0 :(得分:37)

如果您想要完全搜索控制

,请将关键字用双引号括起来
SET @Keywords = '"control of"'

如果您要搜索控制 ,请使用以下内容:

SET @Keywords = 'control AND of'

但是服务器可能视为>作为垃圾或停用词,因此在这种情况下请使用以下内容:

SET @Keywords = 'control AND "of"'