全文搜索语法错误

Full text search syntax error

我创建了一个带有目录和索引的全文搜索,当我使用如下一个词运行查询时,包含查询工作正常。

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'gift')

它returns'test gift'

我在 table 中只有一行,名称列中的数据如下所示:'test gift'

但是当我使用以下语句运行 conaints 查询时:

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'test gift')

它抛出一个错误说:全文搜索条件 'test gift' 中 'gift' 附近的语法错误。

我认为 contains 可以查询匹配且发音相似的词组和多个词?

您需要用双引号来管理 space,请记住您搜索的是整个字符串,而不是字符串中的单词。以下查询会找到 "test gift" 但不会找到 "gift test"

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, '"test gift"')

或者,如果你想单独搜索单词,那就是

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, '"test" AND "gift"')

第二个应该给你一个字段 "gift test" 以及 "test gift"