私は、データストアデータに対して効率的なジオスペースクエリを実行する必要のあるpythonでappEngineアプリケーションを作成しています。ユースケースの例は、現在のユーザーの半径10マイル以内の最初の20の投稿を見つける必要があります。私のオプションにいくつかの研究を行ったので、私は現在、どのようなこの種の機能を実現するための2つの最善のアプローチのように思えることだろうことを見出した:geohashingとデータストアを使用したジオスペースクエリのSearchAPI
- インデックスは、文書を削除/作成
- PythonのGeoModelライブラリを使用してgeopointデータをgeoHashed Googleの新しいSearchAPI
を使用して構造化データのインデックスgeohashesと直接にクエリを実行するが、しかし、低コストおよびすべての地理空間クエリのドキュメントを作成および削除することよりもはるかに高速になるとハイレベルの視点かららしいです私はまた、そのgeohashing cを読んだ赤道に沿ってまたはハッシュアルゴリズムによって生成された「フォールトライン」に沿って非常に不正確である。次のように私は詳細に最高の方法を対比非常にいくつかの記事を見てきた、と私はスタックがこの会話を持っているには良い場所だと思いますので、私の質問は以下のとおりです。
- は誰でも似たような機能を実装し、との肯定的な経験を持っていましたどちらの方法?
- 安価な代替方法はどれですか?
- どちらが早い選択肢ですか?
- もう1つ重要な方法はありますか?
ありがとうございます。
標準のGoogleアプリケーションエンジン環境にある場合、Search APIでインスタンスを使用しないと言っていますか? – Micro
検索APIは、Googleプラットフォームが提供するサービスです。インスタンス内では実行されません。コールを送信し、サービスからの応答を待機します。 Search APIにアクセスするにはインスタンスが実行されている必要がありますが、検索自体はインスタンスでは実行されません。ただし、応答を待っている間にインスタンス内のスレッドを使い切ります。インスタンスで計算を行う場合は、インスタンスに複数のスレッドおよび/またはより高価なCPUを使用することができます。データを渡すだけの場合は、代わりにはるかに安価な500MHzのインスタンスを使用できます。 – marcus