2017-02-16 9 views
1

私は次のシナリオがあるとします。Azureの検索距離可変の距離でフィルタリング

検索UIを個人が自分のホームロケーションにサービスを提供することができます配管工を見つけることができるようにします。

配管工がシステムに情報を入力すると、配管工はその座標と移動可能な最大距離を提供します。

個人は自宅の座標を入力することができ、資格のある配管業者のリストが提示されます。

Azure Search geo.distance関数を見ると、これを行う方法がわかりません。検索者が距離を提供するシナリオは十分にカバーされているが、各検索記録ごとに距離が異なる場所は含まれていない。

documentationは、以下の例を提供します。

$filter=geo.distance(location, geography'POINT(-122.131577 47.678581)') le 10 

これが正常に動作しますが、私は試してみてmaxDistanceフィールドに10を変更した場合、それはフィールドの間でなければなりません

比較で失敗し、範囲変数または関数呼び出し とリテラル値

Azure Searchで現在これが可能かどうか疑問に思っていますか?

答えて

1

私はazure feedback suggestionがこの機能を要求していますが、実装されるかどうかについてのニュースはありません。したがって、このシナリオが現在サポートされていないと考えることは安全です。

1

Paulの答えに追加するには、$filter式のmaxDistanceフィールドを参照する代わりに、控えめに大きな定数値を使用することが考えられます。次に、クライアント上の配管の結果リストをフィルタリングして、各配管の最大距離を考慮して、配管の最終リストを作成することができます。

+0

クライアントで結果を破棄すると、ページングがはるかに難しくなりますが、もちろんオプションです。 –