2017-01-16 17 views
2

当同时使用C#.NET代码向Azure搜索发送查询以及在资源管理器样式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搜索出现问题。有没有其他人经历过这个?我会假设我会在等待灯光亮起时试验所有小写字母的名字。

回答

3

该错误与camelcase无关,但事实上这些“字段”是DataType.Collection(DataType.String)(字符串数组)类型的事实。

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

相关问题