2011-12-13 63 views
2

我正在開發iOS應用程序。我有一個擁有大量公司名稱的核心數據庫。實施「你的意思是?」核心數據

當用戶插入一個不存在的公司名稱時,我想顯示「相似」的公司名稱。例如,如果用戶輸入了「Aple」,我想顯示「您的意思是蘋果?」。

我知道,找到近似模式匹配的字符串的技術(而不是正是)被稱爲或近似字符串匹配,通俗,模糊串搜索

理論上有很多算法,或多或少有效:Levenshtein距離計算算法等等。

但實際上,是否有人已經實施了類似的東西,可以使用輕鬆地將與核心數據一起使用?

回答

0

嘗試查看Soundex,我相信這是SQLite核心功能集的一部分,如果這是您的基礎數據存儲。

+0

Soundex將只適用於英語,從大多數歐洲語言嘗試雙重metaphone。但我不認爲SQLite會支持這一點,所以你可能必須事先計算出它的價值並在其上進行搜索。 – rckoenes

+1

只有在構建SQLite時使用SQLITE_SOUNDEX編譯時選項時,Soundex纔可用。如果我沒有錯,iOS Sqlite沒有Soundex(並且在任何情況下都不容易與Core Data一起使用)... – Dev