如何存储MySQL的结果以便以后排序

时间:2013-05-25 14:38:34

标签: mysql algorithm memcached geospatial

我有一个包含一些文本字段和经度和纬度的表。我想

(1)。首先进行文本搜索(例如简单的LIKE搜索)和

(2)。然后按地理位置接近排序。 (给定用户的地理位置,按距离对结果进行排序)

我想确保第一个结果集(即文本搜索列表)被缓存,以便它可以用于排序不同的地理位置/用户;也就是说,如果用户已经搜索过“寿司”,则不会重复步骤(1)以供以后用户搜索“寿司”。

可以用MySQL完成吗?或者将(1)的结果存储在memcached中?我想从memcached中获取结果然后进行排序可能效率不高,因为我使用的是php,我不知道有什么好方法可以在那里进行地理空间排序。

1 个答案:

答案 0 :(得分:0)

完全是Sphinx支持地理距离计算的全文搜索引擎的工作:

http://php.net/manual/en/sphinxclient.setgeoanchor.php