所以我有一个表中包含字符串值(从第三方工具填充关键字)的列。我正在开发一个自动化工具来识别可能被标准化为单个值的类似值的集群。例如,“消防员”/“消防员”,“同位素”/“同位素”或“犬”/“犬”。用于在SQL中查找相似值的高性能技术?
计算的Levenshtein距离似乎除了它涉及太多的字符串操作/比较并有可能使用了劣质的SQL指标的事实,理想的一种方法。
我已经考虑过使用列的Left(X)字符进行递增分组,这是一种不太糟糕的方式来最大化索引使用,但是这种方法实际上只能有效地发现具有差异的单词这个词的结尾。
任何人都得到了在SQL有效地解决这个问题的一些好的想法?
注:我知道这个问题是非常相似的(Finding how similar two strings are),但这里的区别是需要在SQL有效地做到这一点。
有关Soundex如何解决单词复数版本的任何经验?听起来好像对“消防员”/“消防员”会有好处,但对于“犬”/“犬”也许不会那么好。 – JohnFx 2009-07-10 04:47:57