为什么它会为 Azure 搜索抛出 Invalid expression 异常

Why does it throw Invalid expression exception for Azure search

我收到这个

Invalid expression: Syntax error at position 8 in '$filter=search.in(Categories, 'Career Resources', ',')'. Parameter name: $filter

在 Azure 中执行搜索时出现异常。

这是代码片段本身

$filter=search.in(Categories, 'Career Resources', ',')

谁能告诉我为什么?

search.in 函数有两个重载:

  1. search.in(变量,值列表)
  2. search.in(变量、值列表、分隔符)

所以在你的情况下,

  1. 如果您要搜索 "Career Resources",则语法将为

      $filter=search.in(Categories, 'Career Resources')
    
  2. 如果您要搜索 "Career" 或 "Resources",则语法将为

     $filter=search.in(Categories, 'Career,Resources' ',')
    

我最终使用完全不同的语法解决了问题:

"Categories/any(f: f eq 'Career Resources')"