0

RoRから地理検索中心のPythonAppEngineにアプリケーションを移植することを考えています。私はオープンソースのGeoModel(つまり、ジオハッシュ)ライブラリの1つを使用して、「この地点の近くにあるレストラン(lat / lngペア)」などの質問に答えるクエリをアプリケーションが処理できるようにしています。
GeoModelはListPropertyを使用しており、本番環境にロードする必要のあるエンティティが約1,000万個あるため、価格設定について心配していた重いインデックスを作成します。

私が今朝見つけたこの記事は、コストの面でかなり怖いようです:

https://groups.google.com/forum/?fromgroups#!topic/google-appengine/-FqljlTruK4

だから私の質問は-グーグルがジオ検索をサポートする全文検索をリリースした今、ジオハッシュは議論の余地のある概念ですか?ただし、この新しいAPIの舞台裏で何が起こっているのかは明確ではなく、GeoModelアプローチを使用した場合と同じようにインデックスサイズが大きくなる可能性があるのではないかと心配しています。

検索APIのもう1つの問題は、データストアにモデルを作成するだけでなく、そのデータの一部(少なくとも、モデルが表すモデルのGeoPtPropertyとentity_key)をドキュメントに複製する必要があるように見えることです。データセット。

これについて何か考えはありますか?現時点では、このポートをスクレイピングするのは高すぎると考えていますが、これまでApp Engine環境での作業を本当に楽しんでおり、一部のアプリケーションではEC2から離れたいと思っています。

4

1 に答える 1

1

あなたはここで多くの質問をしています:

  • は、議論の余地のある概念をジオハッシュしています。おそらくそうではないでしょう。SearchAPIは、位置検索にジオハッシュなどを使用しているのではないかと思います。

  • Search APIを使用することと、自分で実装することはできますか:はい、しかし、どちらの方法でコストがかかるかはわかりません。

  • アプリエンジンでジオハッシュが高額になります。メッセージスレッドでは、インデックスの書き込みコストが高いため、コストが低くなります。インデックス作成を最小限に抑えるために、ジオハッシュデータを設計する必要があります。GeoModelが多くのインデックス付きの値をリストに入れる場合、問題が発生する可能性があります。インデックスがどのように機能するかを知らずに直接使用することはありません。私の推測では、位置の精度を下げると、インデックス付けされたエントリの数を減らすことができ、それによって多くのコストを節約できる可能性があります。

  • スレッドで述べたように、CloudSQLでジオハッシュを実行することができます。

于 2012-07-16T16:28:15.807 に答える