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

Azure Search从Blob存储索引时处理文档数为0求助

Azure Search索引Blob文档处理数为0的排查方案

结合你的配置逐一排查

1. JSON文件结构必须匹配索引器解析规则

你的索引器配置了"parsingMode": "jsonArray"和"documentRoot": "/programs",这要求每个Blob里的JSON必须是顶层包含programs数组的对象,数组内每个元素对应一条待索引文档,示例正确结构:

{
  "programs": [
    {"programID": "P1", "orchestra": "纽约爱乐", "season": "2024-2025", ...},
    {"programID": "P2", "orchestra": "纽约爱乐", "season": "2024-2025", ...}
  ]
}

如果你的JSON是直接的数组(如[{"programID":"P1"},...]),或者programs字段不存在/不是数组,索引器会直接识别不到可处理的文档。

2. Blob数据源的基础配置验证

  • 确认存储账户连接字符串拥有目标容器employerdata-container的读取权限
  • 检查Blob文件是否在容器根目录:若文件存放在子目录,需在数据源配置中添加"query": "子目录路径"(未配置的话,索引器仅扫描根目录)
  • 确保文件后缀为.json:Azure Search默认只解析.json后缀文件,除非数据源配置中指定了"fileExtensions": "json,txt"

3. 字段映射与索引结构匹配检查

你的索引器fieldMappings为空,依赖自动字段映射,需满足:

  • JSON字段名与索引字段名完全一致(大小写敏感!比如索引里的programID不能对应JSON里的programid)
  • 复杂类型字段结构必须完全匹配:比如索引中的concerts是Collection(Edm.ComplexType),JSON中对应的concerts必须是包含eventType、Location等子字段的对象数组

4. 查看索引器运行日志定位具体错误

通过Azure门户或API获取运行日志,直接查看失败原因:

  • 门户操作:Azure Search服务 → 索引器 → 选择ny-philharmonic-indexer → 查看「运行历史记录」
  • API请求:
GET {{baseUrl}}/indexers/ny-philharmonic-indexer/status?api-version=2024-07-01
Content-Type: application/json
api-key: {{apiKey}}

日志会明确告知是文件访问失败、结构不匹配还是字段映射错误等具体问题。

5. 单文件测试缩小排查范围

临时修改数据源配置,指定仅处理单个Blob文件:

  • 在数据源配置中添加"query": "filename:你的单个文件名.json"
  • 重新运行索引器,观察是否能正常处理,以此判断是单个文件问题还是批量配置问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:44:55