我目前正在开发一个"约会"网站,作为一个学校项目。我使用Node.js,Express,我的SQL和Pug(Jade)。
到目前为止,我的用户有个人资料页面,并在数据库中我有关于他们的以下信息:
- 年龄
- 性取向
- 性别
- 位置(纬度和经度、国家和确切城市)
- 标签(最能定义标签的词语)
现在我有了所有这些,我的用户必须能够搜索:
- 年龄
- 位置和标签。
我应该按顺序渲染,第一个匹配应该总是位置最接近的。
如何对所有这些信息进行排序,以检查我的任何用户是否可以匹配一个或多个人?
我目前正在开发一个"约会"网站,作为一个学校项目。我使用Node.js,Express,我的SQL和Pug(Jade)。
到目前为止,我的用户有个人资料页面,并在数据库中我有关于他们的以下信息:
现在我有了所有这些,我的用户必须能够搜索:
我应该按顺序渲染,第一个匹配应该总是位置最接近的。
如何对所有这些信息进行排序,以检查我的任何用户是否可以匹配一个或多个人?
1条答案
按热度按时间w8f9ii691#
你可以遍历数据库中的所有用户并计算分数。分数是根据他们之间的距离来奖励的。最后,分数最高的人将是最佳匹配。
下面是一个随机生成数据的示例。
我假设
如果您希望某些因素对总分的影响比其他因素更大,则可以将它们乘以一定的权重。