为什么在SQL Server中忽略了fulltextsearch for phrase?

时间:2013-10-26 15:49:14

标签: sql sql-server

我正在索引的SQL Server 2008 R2数据库上执行以下SQL语句。

SELECT * FROM mydatabase WHERE (CONTAINS(ColumnA,'"The Apple is red"'))

问题是它返回了太多条目。它还返回条目,其中'ColumnA'只包含其中一个单词('Apple'或'is'或'red'...),而不仅仅包含包含完整短语的条目。

根据MSDN,这应该是搜索短语的方式。

由于 cpt.oneeye

2 个答案:

答案 0 :(得分:1)

您可以尝试这样做(删除double quotes ""): -

SELECT * FROM mydatabase WHERE (CONTAINS(ColumnA,'The Apple is red'))

类似的问题出现在MSDN site example

答案 1 :(得分:0)

SELECT * FROM mydatabase WHERE ColumnA = 'The Apple is red'

Select * FROM mydatabase WHERE ColumnA LIKE '%The Apple is red%'

%表示在表达之前或之后可能会有不同之处。如果不是这种情况,或者您不希望选择这些,则可以使用第一个。