我的用戶將通過剪切導入并粘貼包含公司名稱的大字符串。我有一個公司名稱的現有且不斷發展的MYSQL數據庫,每個數據庫都有一個唯一的company_id。我希望能夠解析字符串并為每個用戶輸入的公司名稱分配模糊匹配?,F在,僅進行直線字符串匹配也很慢。** 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
添加回答
舉報
0/150
提交
取消