我第一次使用SQL自由文本搜索,我有点困惑为什么它的行为方式。
我有一个用户可以搜索的联系人表格,我正在使用
SELECT Contacts.*, [Rank]
FROM
FREETEXTTABLE (Contacts, *, 'O''Roarty') AS Contact1_ftt
JOIN Contacts ON Contacts.ContactID = Contact1_ftt.[Key]
以“O'Roarty”作为姓氏的人返回2个结果。但是如果我搜索“Roarty”,我根本就没有结果。如果我搜索“Dave”,我会得到相同的结果,但“Dav”没有结果。
看起来像部分单词不起作用。有没有办法启用部分单词匹配?
答案 0 :(得分:0)
此MSDN问题/答案更能解释功能,因此我只会link it here。
如果你想要部分单词匹配,你基本上想要使用CONTAINSTABLE
。
答案 1 :(得分:0)
全文搜索首先不支持后缀搜索。因此,您无法使用"*ave"
进行搜索。其次,关于LIKE
的使用,LIKE
和FTS
的工作方式不同。查看here了解更多详情。