ラムダでクラウド検索を使用していますが、地理問合せ(haversinを使用しています)に問題があります。Cloudsearchジオクエリフィルタ/距離別に制限する
dbに保存されているマーケティング担当者の経度/緯度と比較して、ユーザーの現在の経度/緯度に基づいて近くのデータ(マーケティング担当者)を取得する必要があります。
距離でソートされたすべてのデータを取得することはできますが、距離でフィルタリングすることはできません。クラウド検索でこれを達成する方法をお勧めします。
var params = {
query: "matchall",
expr:"{\"distance\":\"haversin(13.185474,77.524030,latlon.latitude,latlon.longitude)\"},{\"expr.distance\":{,5}}",
queryParser:"structured",
sort:"distance asc",
return:"id,distance,latlon,_score"};
上記のクエリでは、距離と距離でソートされたデータが5または10 kmsに制限されます。
クラウドサーチでは可能でない場合は、他の方法を提案してください(他の方法でハワイに行った場合)。私は限られたkmsの近くのデータを取得する必要があります。
ありがとうございます。しかし、これは効率的な解決策ではないようですが、この場合もページネーションに問題があります。私はtopleftとbottomrightのデータを取ることによってバウンドボックスフィルタクエリを適用しましたが、ハバーンが円とバウンドボックスクエリー適用フィルタを四角で計算するので、いくつかの余分なデータが得られます。 – user3099794