数据库中用户配对的常见方法



希望你安然无恙!如果有一个用户数据库,我有一个关于配对的常规或常见方式的问题:假设每个用户都有一些属性,在匹配时,每个用户都可以更改筛选选项,只匹配符合自己需求的用户(因此用户之间可以相互选择(,我们希望尽可能精确地高效匹配1000个用户。

例如,假设每个用户都有3个属性:性别(女性/男性/其他(、学习水平(初级/中级/高级(和年级(大一/大二/大三/大四(,匹配时,每个用户可以选择只与具有所选性别、学习水平和年级的人匹配。当关注一个用户时,我可以猜测,从数据库的角度来看,我们可以使用命令中的过滤选项,并获得一个满足这两个条件的用户列表;我的要求";以及";我符合他们的要求";?然而,我认为当同时有1000多名用户处于匹配阶段时,这将是缓慢和异步的问题?

我在这里看到另一篇文章讨论了bloom算法或贪婪算法,这似乎很酷,因为如果在图中查看。在这种情况下,它们可行吗?我想,如果两个用户同时满足这两个要求,他们在两个节点之间就会有一条边,而边的值可以是3个属性的综合匹配分数?

无论如何,我想知道有没有一种常见的方法可以同时与至少1000多名用户精确匹配?

非常感谢!

如果要求每个匹配都必须具有完全相同的属性,那么解决方案相当简单;只需进行多标准排序(例如,首先按性别排序,然后在每个性别类别内按学习水平排序,等等(,并将相同的用户配对。

然而,在随机数据集中,你不太可能为所有用户提供完美的匹配。在这种情况下,你会希望通过每个类别的匹配程度来获得分数对,并使用更复杂的算法来最大化你的整体匹配。你会做什么在很大程度上取决于你的用例和用户群大小。老实说,对于现代计算机来说,1000名用户是一个非常小的数字;几乎任何多项式时间方法(包括你提到的bloom(都可以很好地工作。

最新更新