空间索引类型未使用 .NET SDK 正确设置
Spatial index type not set properly using .NET SDK
使用 CosmosDb 和 .NET SDK,我似乎无法按照我所说的方式设置空间索引。
注意:创建集合时我没有创建任何空间索引。我单独更新。
我正在为 Point
中的单个 SpatialType
设置它,但它仍然会创建所有空间类型的列表。
这是我的代码:
containerResponse.Resource.IndexingPolicy.IndexingMode = IndexingMode.Consistent;
containerResponse.Resource.IndexingPolicy.SpatialIndexes.Clear();
containerResponse.Resource.IndexingPolicy.Automatic = true;
containerResponse.Resource.IndexingPolicy.SpatialIndexes
.Add(
new SpatialPath
{
Path = "/*",
SpatialTypes = { SpatialType.Point }
}
);
await Client.GetContainer(database, collection).ReplaceContainerAsync(containerResponse.Resource);
当我在 Azure 门户数据资源管理器中检查结果时,我看到了这个:
"spatialIndexes": [
{
"path": "/*",
"types": [
"Point",
"LineString",
"Polygon",
"MultiPolygon"
]
}
],
我可以在门户中手动覆盖它,但我正在尝试自动化。
知道我做错了什么吗?
如果没有任何区别,那很好。也许有一天我会找到所有其他空间索引的另一种用途,但我仍然不知道为什么它不起作用。
这是预期的行为,但目前没有记录。现在正在解决这个问题。
最重要的是,这些其他空间类型不会对成本或性能产生影响。
使用 CosmosDb 和 .NET SDK,我似乎无法按照我所说的方式设置空间索引。
注意:创建集合时我没有创建任何空间索引。我单独更新。
我正在为 Point
中的单个 SpatialType
设置它,但它仍然会创建所有空间类型的列表。
这是我的代码:
containerResponse.Resource.IndexingPolicy.IndexingMode = IndexingMode.Consistent;
containerResponse.Resource.IndexingPolicy.SpatialIndexes.Clear();
containerResponse.Resource.IndexingPolicy.Automatic = true;
containerResponse.Resource.IndexingPolicy.SpatialIndexes
.Add(
new SpatialPath
{
Path = "/*",
SpatialTypes = { SpatialType.Point }
}
);
await Client.GetContainer(database, collection).ReplaceContainerAsync(containerResponse.Resource);
当我在 Azure 门户数据资源管理器中检查结果时,我看到了这个:
"spatialIndexes": [
{
"path": "/*",
"types": [
"Point",
"LineString",
"Polygon",
"MultiPolygon"
]
}
],
我可以在门户中手动覆盖它,但我正在尝试自动化。
知道我做错了什么吗?
如果没有任何区别,那很好。也许有一天我会找到所有其他空间索引的另一种用途,但我仍然不知道为什么它不起作用。
这是预期的行为,但目前没有记录。现在正在解决这个问题。
最重要的是,这些其他空间类型不会对成本或性能产生影响。