SQL Server 2012:全文查询有复合词的结果,但没有复合词的结果(单独的术语)

SQL Server 2012 : full-text query has results for compound word but not for compounds (separate terms)

在我的 Microsoft SQL Server 2012 table 中,我有一个全文索引列,其中多次包含单词 'bittersweet'。

现在,当我使用输入 'bittersweet' 执行搜索查询时,我得到以下查询和结果:

SELECT * 
FROM MyTable 
WHERE CONTAINS((FTString),'"*bittersweet*"')

给我很多结果。没关系。

但是当我输入 'bitter' 和 'sweet' 时,我将其转换为以下查询:

SELECT * 
FROM MyTable 
WHERE CONTAINS((FTString),'"*bitter*" AND "*sweet*"')

给了我 0 个结果,这出乎我的意料。

为什么会出现这种行为?我应该改变什么才能得到想要的结果? (我认为这两个查询应该几乎相同。)

使用这个:

--if words separated from each other
SELECT  *
FROM    MyTable
WHERE   CONTAINS (FTString, 'bitter AND sweet')

--otherwise
SELECT * 
FROM MyTable 
WHERE CONTAINS(FTString,'bittersweet') 
      OR CONTAINS(FTString, 'bitter AND sweet')

有关 'contain' 方法的更多信息,请使用此 link:

https://msdn.microsoft.com/en-us/library/ms187787.aspx