在数据库中查找相似项/避免重复项(PHP、MYSQL)

在数据库中查找相似项/避免重复项(PHP、MYSQL),php,mysql,Php,Mysql,我有一个数据库,其中有不同的单词作为条目。比如说 ID | words 1 | dog cat mouse elephant bird 2 | man woman child Boy girl 3 | red green blue yellow black white grey $str = "grey white black yellow purple"; -> similar to ID 3, ~ 80% $str = "snake dog elephant rabbit

我有一个数据库,其中有不同的单词作为条目。比如说

ID | words
 1 | dog cat mouse elephant bird
 2 | man woman child Boy girl 
 3 | red green blue yellow black white grey
$str = "grey white black yellow purple";
-> similar to ID 3, ~ 80% 

$str = "snake dog elephant rabbit";
-> similar to ID 1, ~ 10% 

$str = "Rom London Berlin Paris";
-> similar to nothing, ~0%
我正在寻找一个函数或脚本,以在我的数据库中找到类似的条目。比如说

ID | words
 1 | dog cat mouse elephant bird
 2 | man woman child Boy girl 
 3 | red green blue yellow black white grey
$str = "grey white black yellow purple";
-> similar to ID 3, ~ 80% 

$str = "snake dog elephant rabbit";
-> similar to ID 1, ~ 10% 

$str = "Rom London Berlin Paris";
-> similar to nothing, ~0%
如果存在类似的entrie,我如何使用PHP/MySQL进行检查

我不想在我的数据库中有重复的内容。 我不想让“汽车-自行车-飞机-火车”排在一排,“自行车-飞机-火车-汽车”排在另一排


谢谢你的帮助

对于您试图实现的目标,听起来您的数据库设计不是最好的。有什么理由“自行车”、“飞机”、“火车”和“汽车”不能分别列在各自的栏中吗?或者,如果单词的数量不是静态的,那么它们是否可以在各自的行中,每个集合都有一个ID?这非常广泛-了解创建的字符串可能很有用?它是用户通过表单或其他方式选择的吗?最初的想法:你必须找到一些方法来对单词进行分类;e、 g:dog->animal,red->Color等。查看“自然语言处理”,即在搜索引擎中,您是否需要该百分比,或者是/否-即有一行以某种顺序排列的单词就足够了?请查看MySQL的
全文搜索功能。