我正在尝试在PHP中创建一个简单的部分地址搜索实用程序。有问题的表只有一个“地址”栏。我的目标是让用户在表单中输入部分地址,让我的脚本检索该表中最接近的25个匹配项。
显而易见的,在我看来,草率的方法是选择表格中的每个地址,然后让PHP循环遍历每一个,计算与搜索词的百分比相似度,对它们进行排序,并输出。当您认为该表有数万行并且我最多需要25行时,这似乎是浪费大量资源。
我想做这样的事情:
SELECT id, firstname, lastname, PERCENTMATCH(address, $searchterm) AS matchpercent
FROM accounts
WHERE matchpercent > 85
ORDER BY matchpercent
LIMIT 25
但是,我无法从查询中找到任何方法。这是可能的还是我必须走这条草率的路线?