我已为 Azure AI 搜索和 CosmosDB 设置资源。在我的一个 CosmosDB 资源中,我有两个包含文档的集合:Collection1 和 Collection2。
在 Azure AI Search 中创建索引或索引器时,我可以使其与 CosmosDB 资源连接,并且它仅返回 Collection1 中的数据。这对于该集合来说很好,但是当使用 Collection2 的字段名称创建另一个索引/索引器时,它会返回所有 null。
我知道索引仅从 Collection 1 中检索和读取数据,因为 1)它返回 Collection1 中文档的 _ids 和 2)当创建索引时,键是仅存在于 Collection2 中的字段(而不是 doc_id),该索引的索引器将不会运行,表明“Collection2-only”字段不存在。
如何让索引从 CosmosDB 数据源中的指定集合返回数据?我没有看到用于在索引或索引器中指定集合的字段。
发生情况的示例:
Collection1 的示例文档:
{
_id: 1,
"A": "A",
"B": "B"
}
index1:doc_id是一个字符串,可搜索,A和B是字符串,可过滤和可搜索。
indexer1:默认,dataSourceName为dataSource。 targetIndexName 是索引1
Collection2 的示例文档:
{
_id: 2,
"C": "C",
"D": "D"
}
index2:doc_id可搜索,C、D可过滤可搜索。
indexer2:默认,dataSourceName为dataSource。 targetIndexName 是索引2
索引1的结果
{
_id: 1,
"A": "A",
"B": "B"
}
Index2结果
{
_id: 1,
"C": null,
"D": null
}
请注意,上面返回的是 Index2 中指定且出现在 Collection2 中的字段,但返回 Collection1 中文档的 _id。