我希望为社区转租广告网站执行此操作,但理论上该算法对于任何本地搜索都是相似的。
搜索的区域人口越少,搜索的默认半径就应该越高。另一方面,人口密度高的区域应该具有较低的默认半径,以保持本地相关性。
这可能更像是一个数学问题而不是编程问题,但代码非常受欢迎。到目前为止,我已经计算了每个城镇或村庄 15 英里范围内的转租数量,并将其保存在数据库中作为密度的近似值。当有人搜索城镇或村庄时,我打算使用这个数字来计算搜索的距离。
为了测试任何提议的解决方案,我提取了一些我希望算法得出的近似数字。如果在一个点的 15 英里内有很多转租,比如 30k,我希望搜索的默认半径约为 3 英里。如果只有很少的 1 或 2,默认半径应该高达 25 英里,如果周围没有地方,甚至更多英里。具有约 1k 转租的中程区域的默认半径为 15 英里。这些只是示例,密度会随着数据库中事物的数量而增长或缩小。
Population -> Default search radius
0 -> very high (~60 miles or more)
1 -> 25 miles
1k -> 15 miles
30k -> 3 miles
我是否朝着正确的方向前进?对于以代码为中心的答案,Python 或 PHP 将是首选。
谢谢