为了账号安全,请及时绑定邮箱和手机立即绑定

如何在MYSQL中使用PHP对公司名称进行模糊匹配以实现自动完成?

如何在MYSQL中使用PHP对公司名称进行模糊匹配以实现自动完成?

互换的青春 2019-09-21 15:23:11
我的用户将通过剪切导入并粘贴包含公司名称的大字符串。我有一个公司名称的现有且不断发展的MYSQL数据库,每个数据库都有一个唯一的company_id。我希望能够解析字符串并为每个用户输入的公司名称分配模糊匹配。现在,仅进行直线字符串匹配也很慢。** Soundex索引编制会更快吗?我如何在用户输入时给他们一些选择?**例如,某人写道:微软->微软裸机必备->裸机必备Polycom,Inc.-> Polycom
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

SOUNDEX是一个不错的算法,但是在该主题上已有最新进展。创建了另一个算法,称为Metaphone,后来将其修订为Double Metaphone算法。我已经亲自使用了双元音的java apache commons实现,它是可定制的和准确的。


他们在Wikipedia页面上也有许多其他语言的实现。已经回答了这个问题,但是如果您发现应用程序中出现了SOUNDEX的任何已确定的问题,很高兴知道有选项。有时,它可以为两个完全不同的单词生成相同的代码。创建了双重对讲机来帮助解决该问题。


维基百科被盗:http://en.wikipedia.org/wiki/Soundex


为了应对Soundex算法的不足,劳伦斯·飞利浦(Lawrence Philips)为此目的开发了Metaphone算法。飞利浦后来开发了对Metaphone的改进,他将其称为Double-Metaphone。Double-Metaphone包含比其前任更大的编码规则集,可处理非拉丁字符的子集,并返回主要和次要编码,以说明单个单词在英语中的不同发音。


在双变音位页面的底部,他们具有针对各种编程语言的实现:http : //en.wikipedia.org/wiki/Double-Metaphone


Python和MySQL实施:https://github.com/AtomBoy/double-metaphone


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 675 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信