使用C#.NET代码向Azure Search发送查询时以及使用"搜索资源管理器"在资源管理器样式Azure门户中,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"
}
}
(消息是单行的。在此处使用换行符进行格式化以便于阅读。)
我甚至尝试了另一个方面,其名称也是一个camelcase术语,搜索也遇到了同样的错误。
我的理论是,camelcase名称会导致Azure搜索出现问题。有没有其他人经历过这个?我假设我在等待光线照射时会尝试所有小写名称。
答案 0 :(得分:4)
该错误与camelcase无关,但事实上这些“字段”属于DataType.Collection(DataType.String)
类型(字符串数组)。