我正在开发一个 iOS 应用程序。我有一个包含很多公司名称的核心数据数据库。
当用户插入一个不存在的公司名称时,我想显示“相似”的公司名称。例如,如果用户输入“Aple”,我想显示“Did you mean Apple?”。
我知道找到近似(而不是完全)匹配模式的字符串的技术称为近似字符串匹配,或者通俗地说,模糊字符串搜索。
理论上,有很多算法,或多或少是有效的:Levenshtein 距离计算算法等等。
但在实践中,是否有人已经实现了可以轻松用于核心数据的类似功能?
我正在开发一个 iOS 应用程序。我有一个包含很多公司名称的核心数据数据库。
当用户插入一个不存在的公司名称时,我想显示“相似”的公司名称。例如,如果用户输入“Aple”,我想显示“Did you mean Apple?”。
我知道找到近似(而不是完全)匹配模式的字符串的技术称为近似字符串匹配,或者通俗地说,模糊字符串搜索。
理论上,有很多算法,或多或少是有效的:Levenshtein 距离计算算法等等。
但在实践中,是否有人已经实现了可以轻松用于核心数据的类似功能?
我找到了解决方案。使用 GitHub 上提供的这个 NSString 的类别:NSString-DamerauLevenshtein。
尝试查看 Soundex,我相信这是 SQLite 核心功能集的一部分,如果那是您的基础数据存储。