database - 根据距离和受欢迎程度对地点进行排名

标签 database algorithm sorting geolocation ranking

鉴于我们与某个点的距离 + 该地点的受欢迎程度,对记录保持地点进行排名的理想方式应该是什么?

假设我设计了包含以下列的表格:

| PlaceID | Lat/Long | Distance | Popularity |

这里要考虑 2 个因素来对记录进行排名(排序): 1. 距离:按距离升序排列记录。 2. 流行度:按流行度降序排列记录。

考虑到这两个因素,理想的地点记录排名方式如何为用户提供最佳地点搜索体验?

最佳答案

您可以使用多种方式。最简单的方法之一是使用流行度重要性值和距离重要性值。

给定一个地点p,您可以通过使用流行度P(p) 和距离 D(p)。您应该决定或找到权重 ab 的最佳值。

我(p) = a * P(p) - b * D(p)

关于database - 根据距离和受欢迎程度对地点进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333218/

相关文章:

c++ - 无法解决问题

database - Joomla:将表单字段从模块发布到组件

python - 将列堆叠为一个新的数据框

c - 在字符串数组中插入字符串

c - 逐词短语匹配

c# - 如何就地对 Collection<T> 进行排序?

python - 为什么在 python 中搜索排序列表需要更长的时间?

mysql - 超过 10000 列的表的最佳结构

algorithm - 返回所有小于 M 的素数

java - 如何合并具有相同/公共(public)字段的对象?