Mysql类似文本搜索

Enn*_*enn 1 php mysql

我有一个像下面的mysql表 -

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

+more different text entry
Run Code Online (Sandbox Code Playgroud)

如您所见,上面示例中的keyword_text都是相似的.我想找到以上任何关键字的所有匹配项.例如,如果我只为孩子搜索乐高套件,它将返回我所有这3个keyword_text.

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
Run Code Online (Sandbox Code Playgroud)

该表有大约1M条目,全文索引添加到keyword_text.是否有任何mysql查询要做到这一点或任何类似的方式来快速使用PHP?

感谢帮助

Pur*_*can 5

一种方法是查看搜索词和关键词列表之间的Levenshtein距离.有一些如何在MySQL中实现这一点的例子,例如.这里

因为您有这么大的目录,所以您需要先查看实现过滤器(可能基于'LIKE'查找),这样您就不会测量所有1M行的距离.

如果按距离对结果进行排名,则应该能够根据搜索的相关性对结果进行排序.