智能最接近匹配检测,在MySQL和PHP中使用名称

时间:2014-05-29 21:29:41

标签: php mysql

假设我有一个类似下面的MySQL表,其中包含组织中的名称列表,以及每个表的ID。

id      name
1       John Doe
2       Richard Smith
3       Jane Market
...     ...

鉴于用户将查询该人的名字和/或姓氏(可能使用拼写错误和昵称),并且php应该返回与其查询最接近的匹配。

例如,如果用户输入“ricky”(理查德的昵称),则应返回Richard Smith的ID。

1 个答案:

答案 0 :(得分:1)

对于昵称,您必须创建一个单独的MySQL表,其中包含查找(多对一关系)。

对于拼写错误,您必须循环所有姓名,并将其与用户使用levenshtein函数或similar_text函数输入的内容进行比较。用户贡献的笔记将有所帮助。