Cosmos 中可选字段的复合索引
Composite index for optional field in Cosmos
我在 Cosmos DB 中有一个集合,其中包含不同类型(和架构)的文档:
{
"partKey": "...",
"type": "type1",
"data": {
"field1": 123,
"field2": "sdfsdf"
}
}
{
"partKey": "...",
"type": "type2",
"data": {
"field3": ["123", "456", "789"]
}
}
我正在尝试创建复合索引 [/type, /data/field3/[]/?]
,但遇到了一个问题:
The indexing path '\/data\/field3\/[]\/?' could not be accepted, failed near position '15'. Please ensure that the path is a valid path. Common errors include invalid characters or absence of quotes around labels
我们不支持 Cosmos DB 中复合索引的通配符。这里有一个composite index sample作为参考。
我们将更新我们的文档以使其更加清晰。我查看了这些,但我们目前没有对此进行记录。
谢谢。
在复合索引中,您只需指定要索引的路径,而不是值,因此对于您的示例:
"compositeIndexes":[
[
{
"path":"/type",
"order":"ascending"
},
{
"path":"/data/field3",
"order":"descending"
}
]
]
只需指定查询所需的订单类型(我只是使用这些作为示例)。
对于在您的数据下具有不同属性的不同文档 属性,我相信您必须为您需要的每个用例添加每个复合索引,因为复合索引不支持通配符,所以您会需要添加:
/data/field1 /data/field2 etc etc
希望对您有所帮助。
我在 Cosmos DB 中有一个集合,其中包含不同类型(和架构)的文档:
{
"partKey": "...",
"type": "type1",
"data": {
"field1": 123,
"field2": "sdfsdf"
}
}
{
"partKey": "...",
"type": "type2",
"data": {
"field3": ["123", "456", "789"]
}
}
我正在尝试创建复合索引 [/type, /data/field3/[]/?]
,但遇到了一个问题:
The indexing path '\/data\/field3\/[]\/?' could not be accepted, failed near position '15'. Please ensure that the path is a valid path. Common errors include invalid characters or absence of quotes around labels
我们不支持 Cosmos DB 中复合索引的通配符。这里有一个composite index sample作为参考。
我们将更新我们的文档以使其更加清晰。我查看了这些,但我们目前没有对此进行记录。
谢谢。
在复合索引中,您只需指定要索引的路径,而不是值,因此对于您的示例:
"compositeIndexes":[
[
{
"path":"/type",
"order":"ascending"
},
{
"path":"/data/field3",
"order":"descending"
}
]
]
只需指定查询所需的订单类型(我只是使用这些作为示例)。
对于在您的数据下具有不同属性的不同文档 属性,我相信您必须为您需要的每个用例添加每个复合索引,因为复合索引不支持通配符,所以您会需要添加:
/data/field1 /data/field2 etc etc
希望对您有所帮助。