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

Azure Search示例酒店数据地址字段过滤失败问题排查请求

Azure Search地址字段过滤失效的原因及解决办法
  • 核心问题:Azure Search中只有标记为filterable: true的字段才能用于过滤,你使用的示例项目里,Address子字段(City、StreetAddress)默认未开启该属性。

  • 具体排查与修复步骤:

    1. 查看示例的索引创建代码:在quickstart项目中,定义Hotel索引时,Address作为复杂类型,其内部的City、StreetAddress字段默认仅设置了searchable: true,未添加filterable: true配置。
    2. 修改索引字段定义:将Address下的City、StreetAddress字段的filterable属性设为true,示例代码调整如下:
      new Field("Address/City", DataType.String)
      {
          Searchable = true,
          Filterable = true, // 新增该行开启过滤能力
          Retrievable = true
      },
      new Field("Address/StreetAddress", DataType.String)
      {
          Searchable = true,
          Filterable = true, // 新增该行开启过滤能力
          Retrievable = true
      }
      
    3. 重新部署索引:删除原有索引,用修改后的定义重新创建索引,再重新导入示例数据。
    4. 验证过滤表达式:此时再使用$filter=Address/City eq 'San Antonio'或$filter=Address/StreetAddress eq '677 5th Ave'即可正常过滤。
  • 补充说明:你使用的父字段/子字段格式的过滤语法是正确的,问题根源完全在于字段的可过滤属性未开启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 06:42:03