在将新用户记录插入MySQL数据库时,我一直在识别一个解决方案,以帮助识别可能的重复。有人知道有任何便宜的,最好是免费的解决方案吗?

我需要检测到的那种复制品是缩短英语名称的常见形式 - 例如威廉·威廉(Bill for William),罗伯特(Robert)等,以及拼写错误以及普通的重复。我已经阅读了一些有关使用Lucene的信息,但是对于全文搜索似乎更多,我不确定它是否支持我追求的depliatcae名称匹配?

有帮助吗?

解决方案

这可能会更好地放置在堆栈溢出上。这不是您使用MySQL实现的目标。您所说的内容在搜索中被称为“词干”。类似于匹配常规单词的不同结合,例如运行=>运行,ran。

我不知道有任何此类专有名称的应用程序,但是当您找到将与主要应用程序旁边坐在一起以“正常化”名称的应用程序时,在将记录插入数据库之前。 MySQL,SQLServer,Mongo,无论如何。 DB技术是无关紧要的,因为您的任务不在存储数据/文档的范围之外。

Lucene将是您任务的更好工具。但是我无法说出它像您想要的那样的预包装能力。

编辑

考虑到这一点,我认为当我说Lucene会成为您想要的东西时,我拼错了。我的理解是核心核心之外存在Stemmers,然后代理对“ Bob”搜索(“ Bob”或“ Robert”)以进食Lucene Engine。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top