php - 在php中模糊搜索数组

标签 php fuzzy-search

在我搜索之后,我发现了如何对字符串 进行模糊搜索

但是我有一个字符串数组

$search = {"a"=> "laptop","b"=> "screen"....}

我从 DB MySQL 中检索到的

是否有任何 php 类或函数可以对单词数组进行模糊搜索

或者至少有一些有用信息的链接

我看到了推荐使用 PostgreSQL 的评论

而且它的模糊搜索能力但是

公司已有MySQL DB

有什么推荐吗??

最佳答案

可以在 MySQL 中执行此操作,因为您已经拥有一个 MySQL 数据库 - How do I do a fuzzy match of company names in MYSQL with PHP for auto-complete?其中提到了 MySQL Double Metaphone implementation并且有一个 implementation在 MySQL 5.0+ 的 SQL 中

编辑: 很抱歉在这里回答,因为评论中的内容太多了……

因为您已经使用 PHP Levenshtein function 接受了答案那么我建议您先尝试这种方法。软件是迭代的; PHP 数组搜索可能正是您想要的,但您必须首先根据您的要求测试和实现它。正如我在 your other question 中所说边输入边查找 解决方案可能是这里最简单的解决方案,它只是在用户输入时缩小产品范围。可能不需要实现任何模糊搜索,因为您正在使用User 自己进行模糊搜索:-)

例如,用户开始键入 Sam,这允许您将产品缩小到那些以 Sam 开头的。因此,您总是只让用户选择您已知有效的产品。

关于php - 在php中模糊搜索数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6896855/

相关文章:

javascript - ajax 应用程序的 php 自定义错误代码

"fuzzy matching"字符串的算法

javascript - 寻找更好的 javascript 文本匹配评分系统

php - 在 IF 条件下选择 DATEDIFF 时出错

javascript - Laravel Ajax 调用 url 到 Controller

php - mysql根据列值选择查询php

elasticsearch - 在 Elasticsearch 中使用模糊查询时找到实际匹配词

Python正则表达式与字符串匹配的问题

apache - Solr 拼写检查与模糊搜索

php - Laravel Homestead - 旧版本的 PHP 和 Laravel