我使用目录和索引创建了一个全文搜索,当我使用如下所示的单词运行查询时,包含查询正常工作。
SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'gift')
它返回'测试礼物'
表中只有一行,Name列中的数据如下所示:'test gift'
但是当我用这个语句运行conaints查询时:
SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'test gift')
它会抛出错误说明:全文搜索条件“测试礼物”中“礼物”附近的语法错误。
我认为包含可以查询短语和多个匹配且听起来相似的单词吗?
答案 0 :(得分:5)
您需要双引号来管理该空间,请记住您正在搜索整个字符串,而不是字符串中的单词。以下查询将找到"测试礼物"但不是"礼品测试"
SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, '"test gift"')
或者,如果你想单独搜索单词,那就是
SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, '"test" AND "gift"')
这第二个应该让你进入"礼品测试"以及"测试礼物"