2010-05-12 37 views
4

我想在這樣的方式返回結果集應satify以下兩個條件對錶中的一個特定的列進行搜索:SQL服務器 - 百分之基於全文檢索

  1. 返回結果集應該有記錄其中個字符中的90%與給定的搜索文本匹配。

  2. 返回結果集應該有記錄,其中連續字符的70%與給定的搜索文本匹配。

這意味着,當搜索10個字符的字Sukhminder,則:

它應該返回的記錄,像Sukhmindes,ukhminder,Sukhmindzr,因爲它滿足雙方的上述條件。

但它不應該返回像Sukhmixder這樣的記錄,因爲它不符合第二個條件。同樣,它不應該返回記錄Sukhminzzz,因爲它不符合第一個條件。

我正在嘗試使用SQL Server的全文搜索功能。但是,還不能制定所需的查詢。請儘快回覆。

回答

0

你的意思是原詞的70%?我認爲你可以做到這一點的唯一方法完全按照規定將制定出能夠符合70個%條件的所有可能的字符串排列,並帶回匹配任何這些

Col LIKE '%min%' AND (
Col LIKE '%Sukhmin%' OR Col LIKE '%ukhmind%' 
OR Col LIKE '%khminde%' OR Col LIKE '%hminder%') 

記錄然後做進一步的處理,看是否滿足90%的標準。

編輯:其實你可能會發現模糊搜索此鏈接感興趣http://anastasiosyal.com/archive/2009/01/11/18.aspx