Azure Cosmos DB (SQL API) 以IndexingDirective.Exclude插入的文档能否后续索引
Azure Cosmos DB 批量迁移后索引补充方案
首先明确核心结论:
你通过IndexingDirective.Exclude插入的文档不会被永久排除在索引之外,该配置仅作用于单次写入请求,仅在插入时跳过索引构建,不会给文档添加永久排除的标记。你当前设置IndexingDirective = IndexingDirective.Exclude的写法是批量迁移场景下的标准性能优化手段,可以有效降低迁移过程的RU消耗、提升写入速度。
后续补充索引的两种实现方式
- 全量批量索引(适合迁移完成后统一处理)
无需操作单条数据,仅需要修改一次容器的索引策略再还原为原有配置,即可触发Cosmos DB后台自动执行全量索引重建,所有之前未索引的文档都会被自动纳入索引。整个过程无需停机,后台执行不会影响在线业务读写。 - 精确指定文档索引(适合小范围补充索引)
对需要索引的文档执行一次无变更更新:读取文档原内容后,不修改任何字段直接写回,写入时请求不携带IndexingDirective.Exclude配置,Cosmos DB会在写入时自动为该文档构建对应索引。
注意:操作前请先确认容器的索引策略已经调整为最终需要的配置,如果索引策略中本身存在对应字段的排除规则,符合规则的内容依旧不会被纳入索引。
内容的提问来源于stack exchange,提问作者alesvi
相关产品推荐
相关产品推荐

