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

如何使用Azure Search Indexer提取Azure Table JSON列的离散字段

Azure Table JSON列字段提取最优方案

针对Azure Table存储中存储非数组型JSON字符串的列,在Azure AI Search(原Azure Search)索引构建阶段提取离散字段,根据场景复杂度可选择以下两种最优方案:

方案1:索引器字段映射+JSON路径函数(简单场景首选,无额外开销)

适用场景:JSON结构扁平、无需对提取值做二次处理的场景,无需额外配置技能集,仅靠索引器自带能力即可实现,无额外成本。
操作要点:

  • 预先在搜索索引中创建和JSON属性对应类型的目标字段
  • 在索引器的fieldMappings配置块中,对每个要提取的属性配置字段映射,调用内置jsonPath函数指定属性路径
  • 示例配置:假设存储JSON的列名为JsonColumn,JSON结构为{"UserName":"Jack","Age":28,"IsVerified":true},字段映射配置如下:
"fieldMappings": [
  {
    "sourceFieldName": "JsonColumn",
    "targetFieldName": "userName",
    "mappingFunction": { "name": "jsonPath", "parameters": { "path": "$.UserName" } }
  },
  {
    "sourceFieldName": "JsonColumn",
    "targetFieldName": "age",
    "mappingFunction": { "name": "jsonPath", "parameters": { "path": "$.Age" } }
  },
  {
    "sourceFieldName": "JsonColumn",
    "targetFieldName": "isVerified",
    "mappingFunction": { "name": "jsonPath", "parameters": { "path": "$.IsVerified" } }
  }
]

注意:JSON路径以$表示根节点,属性名大小写需与JSON实际存储的键完全匹配。

方案2:技能集JSON解析技能(复杂场景适用)

适用场景:JSON存在嵌套结构、提取后需要进行文本清洗/实体识别等额外处理、或提取字段需要供给其他技能调用的场景。
操作要点:

  • 在搜索服务的技能集中添加#Microsoft.Skills.Util.JsonParsingSkill,输入为存储JSON的表列,输出为解析后的结构化对象
  • 配置索引器的outputFieldMappings,将解析后的结构化对象的对应属性映射到搜索索引字段
  • 示例配置片段:
{
  "@odata.type": "#Microsoft.Skills.Util.JsonParsingSkill",
  "context": "/document",
  "inputs": [
    {
      "name": "json",
      "source": "/document/JsonColumn"
    }
  ],
  "outputs": [
    {
      "name": "structuredData",
      "targetName": "parsedJsonData"
    }
  ]
}

注意:解析后的结构化对象可直接在技能集上下文被其他技能调用,无需重复解析。


内容的提问来源于stack exchange,提问作者Michael S. Scherotter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:06:03