Php Mysql相似文本搜索

Php Mysql相似文本搜索,php,mysql,Php,Mysql,我有一个如下所示的mysql表- ------------ keyword_text ------------ Lego kit for kids Lego kit only for kids Lego kit kids +more different text entry 如您所见,上面示例中的关键字_文本都是相似的。我想找到所有这些匹配的任何上述关键字。例如,如果我只为孩子们搜索乐高套件,它会返回所有这3个关键字的文本 Input: Lego kit only for kids Out

我有一个如下所示的mysql表-

------------
keyword_text
------------
Lego kit for kids
Lego kit only for kids
Lego kit kids

+more different text entry
如您所见,上面示例中的关键字_文本都是相似的。我想找到所有这些匹配的任何上述关键字。例如,如果我只为孩子们搜索乐高套件,它会返回所有这3个关键字的文本

Input:
Lego kit only for kids

Output:
Lego kit for kids
Lego kit only for kids
Lego kit kids

OR 

mysql resource to use with mysql_fetch_assoc
该表有大约1M个条目,全文索引添加到关键字_text中。是否有任何mysql查询可以做到这一点,或者有任何类似的方法可以使用PHP快速做到这一点


感谢您的帮助

一种方法是查看搜索词和关键字列表之间的Levenshtein距离。有几个例子说明了如何在MySQL中实现这一点,例如

因为您有这么大的目录,您需要首先考虑实现一个过滤器,可能是基于“LIKE”查找,这样您就不会测量所有1M行的距离


如果按距离对结果进行排序,则应能够按与搜索的相关性对结果进行排序。

一种方法是查看搜索词和关键字列表之间的Levenshtein距离。有几个例子说明了如何在MySQL中实现这一点,例如

因为您有这么大的目录,您需要首先考虑实现一个过滤器,可能是基于“LIKE”查找,这样您就不会测量所有1M行的距离


如果按距离对结果进行排序,那么您应该能够根据与搜索的相关性对结果进行排序。

您可以在mysql查询中使用LIKE来获取所需内容如果您有全文索引,为什么不使用全文搜索?您可以在mysql查询中使用LIKE来获取所需内容。如果您有全文索引,为什么不使用全文搜索呢?截止2015年3月7日止的死链接截止2015年3月7日止的死链接