具有可变距离的Azure搜索距离过滤器

时间:2017-02-16 10:23:52

标签: azure azure-search

假设我有以下情况:

搜索用户界面,允许个人查找能够为其家庭位置提供服务的管道工。

当水管工将他们的信息输入系统时,他们会提供他们的坐标和他们愿意旅行的最大距离。

然后,个人可以输入他们的家庭坐标,并且应该看到符合条件的管道工列表。

查看Azure搜索geo.distance函数,我看不到如何执行此操作。搜索者提供距离的情景很好,但不是每个搜索记录的距离不同。

documentation提供了以下示例:

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

这样可以正常工作,但是如果我尝试将10更改为maxDistance字段,则会失败并显示

  

必须在字段,范围变量或函数调用之间进行比较   和一个字面值

我的要求似乎相当基本,但我现在想知道Azure搜索目前是否可以实现这一目标?

2 个答案:

答案 0 :(得分:1)

我发现azure feedback suggestion要求此功能,但没有关于是否/何时实施的消息。因此,可以安全地假设当前不支持此方案。

答案 1 :(得分:1)

要添加Paul的答案,一种可能的解决方法是使用保守的大常量值,而不是引用main #experienceLogos li a { display: inline-flex; //switch from block display width: 100%; height: 100%; } main #experienceLogos li img { position: relative; /* top: 50%; Remove this*/ width: 80%; padding: 10%; /* transform: translateY(-50%); Remove this */ -webkit-align-self: center; //safari 7+ align-self: center; } 表达式中的maxDistance字段。然后,您可以在客户端上过滤生成的管道工列表,以考虑每个管道工的最大距离并生成最终的管道工列表。