当同时使用两个C#.NET代码将查询发送到Azure搜索时,以及在Resource-Manager样式的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搜索出现问题。之前有没有其他人经历过?我想我将尝试所有小写字母的名称,同时等一下。
该错误与驼峰无关,但与这些“字段”属于类型DataType.Collection(DataType.String)
(字符串数组)有关。
我需要使用一种子查询来进行搜索,如OData的“筛选器和集合”中所示