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

如何在CosmosDB索引策略中转义特殊字符?需索引$Type属性

解决Azure Cosmos DB中带$前缀属性的索引配置问题

要给名为$Type的属性创建可用索引,你需要在索引路径中对$符号进行双重转义,正确的路径写法是:

"path": "/\\$Type/?"

完整的索引策略示例

以下是包含该属性索引的完整配置片段(仅展示核心规则部分):

"indexingPolicy": {
  "includedPaths": [
    {
      "path": "/\\$Type/?",
      "indexes": [
        {
          "kind": "Range",
          "dataType": "String",
          "precision": -1
        }
      ]
    }
  ],
  "excludedPaths": [
    {
      "path": "/*"
    }
  ]
}

为什么之前的写法无效?

  • 直接写"/$Type/?"时,Cosmos DB会将$识别为特殊语法符号,而非属性名的一部分,因此无法匹配到你的$Type属性。
  • "/"$"Type/?"属于JSON语法错误,自然会被拒绝。

验证索引是否生效

配置完成后,运行你的查询SELECT * FROM c WHERE c["$Type"] = "User",可以通过Cosmos DB的查询执行计划查看是否使用了索引(执行计划中会显示Index Scan而非Full Scan)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:05:59