邻近搜索
应用程序如何执行邻近搜索?例如,用户输入邮政编码,然后应用程序按距离排序列出20英里内的所有企业。
我想在PHP和MySQL中构建类似的东西。这种方法正确吗?
- 获取我感兴趣的位置的地址并将其存储在数据库中
- 使用Google的地理编码服务对所有地址进行地理编码
- 编写包含Haversine公式的数据库查询以进行邻近搜索和排序
这个可以吗?在第3步中,我将计算每个查询的接近度。有一个PROXIMITY表,列出每个企业与几个参考位置之间的距离,更好吗?
回答:
如果有足够的记录来决定速度,那么可以采用这种方法提前对其进行索引。
在侧面定义约20英里的垃圾箱网格。将垃圾箱编号与每个商店的记录一起存储。在搜索时,计算与搜索点相距20英里半径的所有垃圾箱的数量。然后检索所有这些存储区中的所有存储,然后像以前一样进行。
以上是 邻近搜索 的全部内容, 来源链接: utcz.com/qa/405037.html