2008-10-29 73 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

相关问题