【发布时间】:2015-07-07 02:55:47
【问题描述】:
我正在开发一个工作门户,最终用户将在其中根据他们的位置和邻近半径搜索工作。目前,REST API 由 SLIM 和 MySQL 提供支持。 在 Jobs 表中,每一行都有纬度和经度。我在这里搜索过这个并偶然发现了Geo Distance search with MySQL。
SELECT latitude, longitude, SQRT(
POW(69.1 * (latitude - $lat), 2) +
POW(69.1 * ($long - $long) * COS(latitude / 57.3), 2)) AS distance
FROM TableName HAVING distance < 25 ORDER BY distance;
Where
$lat = User latitude
$long = User longitude
现在我还有另外两个问题。
- 如果只有 MySQL 查询就足够了,还是我必须使用它设置 Elastic Search?
- 是否有任何库或包可以帮助我解决这个特定问题?
如果您能对搜索性能提出任何有用的建议。
【问题讨论】:
标签: php mysql elasticsearch geolocation