我有一个使用MS SQL 2008的FTS(全文搜索)的网站。如果用户搜索带有的这样的撇号的字符串,则搜索工作正常 - 它返回包含的的任何结果。但是,如果用户搜索那些,它将不会返回结果,并且数据库存储 。
另外,理想情况下搜索那个也应该返回那个和那个等。
有人知道FTS是否支持这个,以及我可以做些什么来启用它?
WT
答案 0 :(得分:1)
使用参数
myCommand.Parameters.AddWithValue("@searchterm", txtSearch.Text.Trim());
它将由您处理,没有任何麻烦。
关于那个,那就是你应该查找SOUNDEX个关键字。 4GuysfromRolla也有一个old article。
<强>更新强> TFS小组成员之一就此here进行了精彩的讨论。
引用他:Daniel是正确的全文搜索(FTS)不直接使用SOUNDEX, 但它可以与SOUNDEX结合使用。
另外,你可以 想要查看以下链接以及下面的TSQL 结合 CONTAINS &amp;的示例 SOUNDEX
你可能想看一下 一些改进的soundex算法以及 Levenshtein距离算法
你 应该能够搜索Google以查找更多代码示例,例如: 'METAPHONE soundex“sql server”模糊名称搜索“,我很快发现 - http://www.winnetmag.com/Article/ArticleID/26094/26094.html上的“双重Metaphone听起来很棒” 您可以在zip文件中自由下载代码,该文件具有多个实现Double Metaphone的用户定义函数(UDF)。
以下 是一些额外的SOUNDEX链接:
http://www.merriampark.com/ld.htm
http://www.bcs-mt.org.uk/nala_006.htm
(在scoop中省略)
use pubs
-- Combined SOUNDEX OR CONTAINS query that
-- Searches for names that sound like "Michael".
SELECT
au_lname, au_fname
FROM
authors -- returns 2 rows
WHERE
contains(au_fname, 'Mich*') or SOUNDEX(au_fname) = 'M240'
谢谢,
约翰
SQL全文搜索博客
http://spaces.msn.com/members/jtkane/