【问题标题】:Azure Search Distance filter with variable distance具有可变距离的 Azure 搜索距离筛选器
【发布时间】:2017-02-17 04:37:56
【问题描述】:

假设我有以下场景:

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

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

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

查看 Azure 搜索 geo.distance 函数,我不知道如何执行此操作。搜索者提供了距离的场景被很好地覆盖,但对于每个搜索记录的距离不同的场景却没有。

documentation 提供以下示例:

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

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

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

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

【问题讨论】:

    标签: azure azure-cognitive-search


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      为了补充 Paul 的答案,一种可能的解决方法是使用保守的大常量值,而不是在 $filter 表达式中引用 maxDistance 字段。然后,您可以在客户端过滤生成的管道工列表,以考虑每个管道工的最大距离并生成最终的管道工列表。

      【讨论】:

      • 绝对是一种选择,尽管在客户端丢弃结果会使分页变得更加困难。
      猜你喜欢
      • 2012-06-20
      • 2010-12-28
      • 2011-01-18
      • 2012-09-08
      • 2012-09-11
      • 2011-05-20
      • 1970-01-01
      • 2011-08-26
      • 2012-07-18
      相关资源
      最近更新 更多