首页 > 解决方案 > CosmosDB 异构文档集合 - 复合索引

问题描述

我对所有文档使用单个集合,然后使用“类型”属性将它们实例化到 POCO 中。到目前为止,事情进展顺利。

现在我需要添加多种排序功能。

这不起作用,它说我需要一个复合索引。好吧,我明白了。

Indexing policy但是,当它想要paths在某些文档类型中不存在或可能存在于多个文档类型中时,我将如何创建呢?

我真的必须为每种文档类型创建一个集合才能使其工作吗?

TIA

标签: indexingazure-cosmosdb

解决方案


它只会忽略这些项目。另请注意,对于复合索引,您必须指定要包含的路径及其排序顺序。对于常规索引,通常最好包含所有路径(即“/*”),然后指定要排除的路径。这样,当您将新实体类型添加到集合中时,您无需不断更新索引策略。

另外,请注意,每个复合索引的最大复合索引路径数是每个容器 8 个。目前查询一次只使用一条路径,但这很快就会改变为同时使用多条路径,这将对使用它们的查询产生显着的性能改进。


推荐阅读