我想在网站上按距离执行搜索。 生活中的城市中必须有一位用户可以找到生活在100或200公里内的所有用户。在搜索表单中包含距离
我在我的数据库中有一个表,用于存储所有城市及其坐标。
我想创建一个将存储所有城市,但我的数据库包含36000个城市,它可能会让很多的记录之间的距离的其它表...
我怎么能做出这样的搜索更简单地知道我的项目将用Symfony和Doctrine开发?
预先感谢您
我想在网站上按距离执行搜索。 生活中的城市中必须有一位用户可以找到生活在100或200公里内的所有用户。在搜索表单中包含距离
我在我的数据库中有一个表,用于存储所有城市及其坐标。
我想创建一个将存储所有城市,但我的数据库包含36000个城市,它可能会让很多的记录之间的距离的其它表...
我怎么能做出这样的搜索更简单地知道我的项目将用Symfony和Doctrine开发?
预先感谢您
出于性能方面的考虑,您需要使用geospatial index高效地查询这样的数据库。例如,MongoDB为此具有feature。
如果性能不是问题,您可以简单地在关系数据库表中存储位置并使用SQL计算距离。有关此解决方案的一些信息,请参阅此问题:Geo-Search (Distance) in PHP/MySQL (Performance)
您可以在此处使用正确的答案来确定坐标之间的距离。