在我们的搜索中,我们需要返回匹配搜索项与Levensthein距离max为2的结果。问题是我们需要对表中包含数百万行的每一行应用Levensthein距离算法,然后查询非常慢。
SOUNDEX和Metaphone很棒,因为它们产生的哈希值可以存储在数据库中并与搜索到的字符串进行比较。但它们的语音不是基于“拼写错误”。它们适用于某些情况,但并非适用于所有情况。
我知道似乎不可能生成Levensthein哈希并存储它,因为我们不知道搜索词。
所以问题是是否有像SOUNDEX或Metaphone这样的'拼写错误'的算法。
我们使用MariaDB数据库和PHP,因此在PHP中实现任何应该是可行的。