0

GAE の Python Search Api を実装し、指定されたジオポイントからの距離に基づいてクエリを実行しようとしています。

私のクエリ文字列は「distance(location, geopoint(XXX, YYY)) < ZZZ」です。ただし、本番サーバーでは、何らかの理由で、このクエリ文字列は距離が ZZZ パラメーターよりも大きい項目を返しています。

以下は、不正確さを示す実際の数値 (生産) です。

実際の距離: 343.9m
それでも結果が得られるクエリ距離: 325m

実際の距離: 18,950.3
それでも結果が得られるクエリ距離: 13,499m

実際の距離: 55,979.0
それでも結果が得られるクエリ距離: 44,615m

実際の距離: 559,443.6
それでも結果が得られるクエリ距離: 451,167m

実際の距離: 53.4
それでも結果が得られるクエリ距離: 46m

実際の距離: 35,322.2
それでも結果が得られるクエリ距離: 30,808m

実際の距離: 190.2
それでも結果が得られるクエリ距離: 143m

私の開発サーバーでは、これらの不正確さは存在しません。正確なメーターまでクエリを実行して、期待される結果を得ることができます。

これを引き起こす原因と、本番環境で正確なクエリ結果を取得するための修正方法を教えてください。他の誰かが同じ問題を抱えていますか?

4

1 に答える 1

0

これには 2 つの理由が考えられます。

1 - km ではなくマイル

2 - 変換数値 (たとえば、35,322.2 は 35322.2 ? km ? マイルですか?) 距離関数を実行するときに処理される数値を正確に確認することをお勧めします。このデータをプログラムでいくつかのログに出力できます。

それが役に立てば幸い

于 2015-03-12T11:35:09.743 に答える