Home > python | フレームワーク > google appengineではまったこと3 ~データストアとかモデルとか

google appengineではまったこと3 ~データストアとかモデルとか

夏休んでました。

google appengineはかゆいところに手が届かないなあと感じている今日この頃。例えばDBへのクエリで2つ以上のプロパティに不等号を使えない。


query = Hoge.gql("WHERE foo >= :a AND bar >= :b", a = 1, b = 1)

上はエラーが出る。インデックスが使えなくなるからだと。

あと、ModelにGeoPtPropertyってのがあるわけだけども、ソーティングが(つまり比較が)緯度→経度の順で行われるから矩形領域を検索したりできない。


locA = db.GeoPt(0, 0)
locB = db.GeoPt(10, 10)
query = Hoge.gql("WHERE geo >= :a AND geo <= :b", a = locA, b = locB)

ってやっても緯度が0以上10以下なら検索されちゃう。例えば(5, 150)とか。こういうことをしたいときにどうしたらいいのか、現在検討中。どうしたものか。緯度と経度に分けてプロパティ作っても、最初に書いたように2つ以上のプロパティで不等号使えないし。全部取ってきてから自前フィルタで処理するとかしたら、時間かかってタイムアウト制限に引っかかる気がするし。求む!解決策。

以上

Comments:2

komi 09-08-06 (木) 15:21

http://code.google.com/intl/ja/appengine/articles/geosearch.html
読んでまだ理解できてないですが、これはどうでしょうか

コスミー 09-08-07 (金) 0:18

>komiさん
まだざっとしか見てませんが、まさに求めていたもののように見えます。
有益な情報ありがとうございます!

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=261
Listed below are links to weblogs that reference
google appengineではまったこと3 ~データストアとかモデルとか from コスミー報告書[社外秘]

Home > python | フレームワーク > google appengineではまったこと3 ~データストアとかモデルとか

Search
Feeds
Meta
 合計:011767
 今日:0095 昨日:0143

Return to page top