我有一个包含一些文本字段和纬度和经度的表。我想要
(1)。首先进行文本搜索(例如简单的 LIKE 搜索)和
(2)。然后按地理位置接近度排序。(给定用户的地理位置,按距离对(1)中的结果进行排序)
我想确保第一个结果集(即来自文本搜索的列表)被缓存,以便它可以用于对不同的地理位置/用户进行排序;也就是说,如果用户已经搜索过“sushi”,则对于以后搜索“sushi”的用户将不会重复步骤 (1)。
这可以用 MySQL 完成吗?或者将 (1) 的结果存储在 memcached 中?我想从 memcached 中获取结果然后进行排序可能效率不高,因为我使用的是 php,而且我不知道有什么好的方法可以在那里进行地理空间排序。