1

在我们的搜索中,我们需要返回匹配搜索词的结果,Levensthein 距离最大值为 2。问题是我们需要对表中的每一行应用 Levensthein 距离算法,它有数百万行,然后查询非常慢。

SOUNDEX 和 Metaphone 很棒,因为它们产生的哈希值可以存储在数据库中并与搜索的字符串进行比较。但它们是基于语音的,而不是基于“错字”的。它们适用于某些情况,但并非适用于所有情况。

我知道似乎不可能生成 Levensthein 哈希并存储它,因为我们不知道搜索词。

所以问题是是否有任何算法,如 SOUNDEX 或 Metaphone 是面向“错字”的。

我们使用 MariaDB 数据库和 PHP,因此在 PHP 中实现任何一个都应该是可行的。

4

0 回答 0