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

如何在Azure AI Search中指定CosmosDB特定集合创建索引/索引器?

Azure AI Search读取CosmosDB指定集合数据的解决方案

问题根源

你当前的问题出在共用了同一个CosmosDB数据源,该数据源默认关联的是Collection1,导致两个索引器都从Collection1拉取数据。Index2要读取的C、D字段在Collection1中不存在,因此返回null,甚至会因指定不存在字段为索引键而报错。

解决步骤

1. 为每个集合创建独立数据源

Azure AI Search的CosmosDB数据源需要明确指定目标集合,不能共用一个数据源读取多个集合:

  • 可视化创建:在Azure门户创建CosmosDB类型的数据源时,在「容器」选项中选择Collection2;
  • REST API创建:在数据源配置的container参数中指定集合名称,示例如下:
{
  "name": "dataSource-collection2",
  "type": "cosmosdb",
  "credentials": { "connectionString": "你的CosmosDB连接字符串" },
  "container": { "name": "Collection2", "query": null },
  "dataChangeDetectionPolicy": { "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", "highWaterMarkColumnName": "_ts" }
}

2. 关联Index2到新数据源

修改indexer2的配置,将dataSourceName替换为刚创建的dataSource-collection2,确保索引器指向Collection2。

3. 重新运行索引器

清除之前的索引器运行记录,启动indexer2,此时索引器会读取Collection2的文档,Index2就能正确获取C、D字段的值。

预期结果

重新运行后,Index2将返回Collection2的文档:

{
    "_id": 2,
    "C": "C",
    "D": "D"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:22:48