2008-10-29 82 views

回答

7

模糊查找使用q-gram方法,將字符串拆分成小的子字符串並對它們進行索引。然後,您可以通過將其分解爲相同大小的字符串來搜索輸入。您可以檢查其索引的格式並編寫CLR函數以使用相同類型的索引,但您可能正在討論大量的工作。

這實際上是非常有趣的,他們是如何做到的,非常簡單,但提供了非常強大的匹配,並且非常可配置。

從上面我回想起索引的時候,每個q-gram或substring都被存儲在一個表(索引)中的一行中。該行包含一個用作二進制數據的nvarchar列(以及其他值),幷包含對匹配行的引用。

此功能還有一個關於Microsoft Connect的公開反饋建議。

7

SQL Server有一個SOUNDEX()函數:

SELECT * 
FROM Customers 
WHERE SOUNDEX(Lastname) = SOUNDEX('Stonehouse') 
AND SOUNDEX(Firstname) = SOUNDEX('Scott') 
+0

真實的樣本的文章 - 忘了這一點。但不要認爲它會 數字標識符工作,比如換位數字或什麼的。 – ScottStonehouse 2008-10-29 17:53:53

+1

我發現soundex在過去非常原始,它可以工作,但它的粒度非常粗糙。 Double Metaphone是語音匹配的新版本,但它仍然受到限制。 – vfilby 2008-10-29 22:26:32

1

2009年3月5日,我將有www.sqlservercentral.com貼有哈羅 - 溫克勒TSQL

相關問題