$filter 上有关 "invalid expression" 的 Azure 搜索错误是什么

What is this Azure-Search error about "invalid expression" on $filter

同时使用 C# .NET 代码向 Azure 搜索发送查询以及在资源管理器样式 Azure 门户中使用 "Search Explorer" 时,Azure 搜索将在给定查询(作为搜索中的输入)时成功探险家):

search=foo&facet=category&$filter=category eq 'Teams'

但给出时失败:

search=foo&facet=categoryDetails&$filter=categoryDetails eq 'Subcategory'

返回的错误是:

{
    "error": {
        "code": "",
        "message": "Invalid expression: The operand for a binary operator
                   'Equal' is not a single value. Binary operators require
                   both operands to be single values.\r\nParameter name:
                   $filter"
    }
}

(消息是单行的,为了便于阅读,这里用换行符格式化。)

我什至尝试了另一个名字也是驼峰术语的方面,并且搜索也遇到了同样的错误。

我的理论是驼峰式名称会导致 Azure 搜索出现问题。有没有其他人经历过这个?我想我会尝试使用所有小写的名称,同时等待对此有所了解。

该错误与驼峰式大小写无关,而是因为 "fields" 属于 DataType.Collection(DataType.String) 类型(字符串数组)。

我需要使用一种子查询进行搜索,如 Filter and collections in OData

所示