【发布时间】:2011-07-19 16:38:21
【问题描述】:
所以我搜索了模糊搜索,Levenshtein 距离算法,但我不确定是否真的适合我正在做的事情。请让我知道你的想法,如果有的话......
如何获取用户的全名并生成相似名称列表?我想通过提供“嘿,您确定这些都不是您”作为帐户创建之前的最后一步,防止用户在应用程序中创建多个帐户。
我找到了这篇文章,但它完全基于 SQL (http://stackoverflow.com/questions/988050/matching-records-based-on-person-name)
我正在使用 c#/Linq、SqlServer。
感谢您的宝贵时间!
【问题讨论】:
-
我的建议是查看
SOUNDEX(),但这也是您似乎反对使用的 SQL 解决方案。 -
是的,我更愿意将它保存在 c# 中
-
您也可以只使用您发布的 SQL 答案。只需创建一个存储过程并从 linq 调用它
-
添加“规则”怎么样?因此,如果输入 John Doe,我会去除空格、非 alpha 字符,以 'johndoe' 结尾。我应用了一个长度“规则”,说查询的名称需要在 'johndoe' 的长度上是 +/- x。我也可以应用一个类似字符的阈值,比如 80%。有什么想法吗?
-
仅供参考,如果您正在实现一个可供公众使用的应用程序,出于安全原因,显示现有用户名不是一个好主意。
标签: c# name-matching