2017-02-16 84 views
1

假設我有以下情形:Azure的搜索距離過濾

一個搜索UI允許個人找管道工誰能夠服務於他們的家的位置。

當管道工將他們的信息輸入到系統中時,他們提供他們的座標和他們願意旅行的最大距離。

然後,個人可以輸入他們的家庭座標,並應顯示符合條件的管道工名單。

看着Azure搜索geo.distance函數,我看不到如何做到這一點。搜索者提供距離的場景已被很好地涵蓋,但不是每個搜索記錄的距離不同的情況。

documentation提供了以下例子:

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

這工作正常,但如果我試圖改變10到maxDistance領域,它與

比較失敗一定是場之間,範圍變量或函數調用 和文字值

我的要求看起來很公平基本的,但現在想知道如果這是目前可能與Azure搜索?

回答

1

我發現一個azure feedback suggestion要求這個功能,但沒有關於是否/何時執行的消息。因此,假設目前不支持這種情況是安全的。

1

要添加到Paul的答案,一種可能的解決方法是使用一個保守的大常量值,而不是引用$filter表達式中的maxDistance字段。然後,您可以過濾客戶端上的管道工列表,將每個管道工的最大距離考慮在內,並生成最終的管道工列表。

+0

絕對是一個選項,雖然在客戶端丟棄結果會使分頁困難得多。 –