こんにちは、フィールドのジオサーチに苦労しています。私がやろうとしているのは、ジオフィールドをクエリして、提供した郵便番号に基づいて最寄りの店舗を見つけることです。
まず、Google マップ API (components:postal_code:) から緯度と経度を取得します。次に、緯度と経度の座標をクエリ文字列に入力します。
元。query = "distance(store_location, geopoint(lat, lng)) < 4500"
インデックスには大量のドキュメントが入力されています...store_location は geoField です
元。店舗の場所 | search.GeoPoint(緯度=34.0324...)
問題は...インデックスを検索するたびにゼロが返されることです
元。search.SearchResults(number_found=0)
結果が返ってこないのはなぜですか? お手伝いありがとう。
class FindStore(BaseHandler):
def post(self):
data = zipcheck.get_lat_lng_from_google_map(self.request.body)
obj = json.loads(data)
ziplat = obj['lat']
ziplng = obj['lng']
index = INDEX_STORE
query = "distance(store_location, geopoint(%s, %s)) < 4500" %(ziplat, ziplng)
results = index.search(query)
return results