いくつかのテキスト フィールドと緯度と経度を含むテーブルがあります。したい
(1)。最初にテキスト検索を行い (単純な LIKE 検索など)、
(2)。次に、位置情報の近接度で並べ替えます。(ユーザーの地理位置情報を考慮して、(1) の結果を距離で並べ替えます)
最初の結果セット (つまり、テキスト検索からのリスト) がキャッシュされていることを確認して、異なる地理位置情報/ユーザーの並べ替えに使用できるようにしたいと考えています。つまり、ユーザーが既に「sushi」を検索している場合は、後でユーザーが「sushi」を検索するためにステップ (1) が繰り返されることはありません。
これは MySQL で実行できますか? または、(1) の結果を memcached に保存しますか? 私はphpを使用していて、そこで地理空間ソートを行う良い方法を知らないので、memcachedから結果を取得してからソートを行うのはおそらく効率的ではないと思います。