You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure搜索索引过滤失效:类型不匹配与属性未找到两类错误

问题2:两类搜索过滤错误的解决方法

问题2.a:类型不匹配错误

错误详情

使用过滤参数 max_tokens_in_chunk eq 200 时,报错:

Error: () Invalid expression: A binary operator with incompatible types was detected. Found operand types 'Edm.String' and 'Edm.Int32' for operator kind 'Equal'

字段定义:SimpleField(name="max_tokens_in_chunk", type="Edm.String", filterable=True, facetable=True)

解决方法

两种可选方案:

  • 方案1:修改过滤语句,把数值用单引号包裹,匹配字段的字符串类型:
    max_tokens_in_chunk eq '200'
    
  • 方案2:如果该字段实际存储的是数值,建议重新创建字段时将类型改为 Edm.Int32,后续可直接用数值过滤,避免类型转换问题。

问题2.b:字符串值未加引号导致的错误

错误详情

使用过滤参数 company eq Tesla 时,报错:

Error: () Invalid expression: Could not find a property named 'Tesla' on type 'search.document'.
Parameter name: $filter

字段定义:SimpleField(name="company", type="Edm.String", filterable=True, facetable=True),且确认索引中存在Tesla值。

解决方法

OData过滤规则中,字符串类型的属性值必须用单引号包裹,否则系统会把Tesla识别为属性名而非字符串值。修改过滤语句为:

company eq 'Tesla'

内容的提问来源于stack exchange,提问作者newbie101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:53:09