如何在PHP中使用Soundex和SQLITE来获得“你的意思是吗”


How to use Soundex in PHP with SQLITE to get 'Did you mean..'

我知道有一个类似的线程,但它没有有用的答案。

我正在使用SQLITE(无法更改语言),当用户填写表单时,其中一个字段是类别。

我希望他们输入一个类别,例如,他们可以输入:园艺。

但是,如果该类别已经存在"园艺"或他们拼错了,它将添加一个条目并在我搜索时引起问题。

我想知道是否可以在条目上使用 SOUNDEX 以将其与数据库进行匹配,如果存在一个条目,例如 80% 相似或它会给出一条消息:

你的意思是(类别)?

这将是一个链接,单击该链接将更改字段条目。

我正在寻找很多东西,所以提前感谢任何帮助。

更新:我的数据库具有类似于的值。所以:

类别:

园艺烹饪自己动手

是的,但您需要将 soundex 值添加到数据库中,以便对其进行搜索。否则,您需要提取表中的每个记录,以通过 soundex 对其进行解析以进行匹配。预烘烤是必经之路。

专业提示:如果您想有点模糊,请循环检查从输入的值中截断 soundex 的片段。你会得到第一个完美匹配的列表,然后是接近的完美匹配,然后是更远的匹配。