当前位置:  开发笔记 > 编程语言 > 正文

关于$ filter上“无效表达式”的Azure搜寻错误是什么?

如何解决《关于$filter上“无效表达式”的Azure搜寻错误是什么?》经验,为你挑选了1个好方法。

当同时使用两个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搜索出现问题。之前有没有其他人经历过?我想我将尝试所有小写字母的名称,同时等一下。



1> starlocke..:

该错误与驼峰无关,但与这些“字段”属于类型DataType.Collection(DataType.String)(字符串数组)有关。

我需要使用一种子查询来进行搜索,如OData的“筛选器和集合”中所示

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有