如何将字符串数组属性添加到Cosmos DB复合索引中?
Cosmos DB 复合索引与数组标量值的配置问题
Cosmos DB的复合索引支持针对数组标量值的查询优化,你配置失败的原因是路径格式错误。
错误原因
你使用的/tg/[]路径格式不符合复合索引的配置要求,数组字段在复合索引中不需要添加/[]后缀,直接使用字段的基础路径即可。
正确的复合索引配置
将数组字段的路径改为/tg,正确的JSON配置如下:
[ { "path": "/id", "order": "ascending" }, { "path": "/tg", "order": "ascending" } ]
配置说明
当你在复合索引中指定数组字段路径(如/tg)时,Cosmos DB会自动处理数组中的每个标量元素,支持这类场景的查询优化:比如结合id和数组包含条件的查询(SELECT * FROM c WHERE c.id = 123 AND ARRAY_CONTAINS(c.tg, "tag1")),配置正确的复合索引后,这类查询可以高效利用索引。
如果PopulateIndexMetrics工具给出了索引建议,建议中的路径应该是不带/[]的,直接参考该路径配置即可。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

