我有一个 SQL 数据库搜索,目前有一个搜索词和一个地址输入 - 由谷歌对 lat/lng 进行地理编码。现在,我首先根据与搜索词的相关性对结果进行排序,然后根据静态半径(7 英里)按距离排序。
我遇到的问题是,如果您在“中央公园”附近搜索“乔·史密斯”,布朗克斯区(静态 7 英里内)可能会出现一个“乔·史密斯”作为第一个结果,而不是所有乔和实际上在中央公园的史密斯。有没有办法根据搜索区域的大小自动更改当前的静态搜索半径,以便它适用于纽约市,甚至纽约州?或者这个问题有更好的解决方案吗?
我想我想做的是模仿谷歌地图上的搜索,这样我就可以首先进行最相关的搜索,但在实际搜索的区域中。任何帮助都将不胜感激,甚至我应该采取一些不同的方法。谢谢!