gpt4 book ai didi

azure - 宇宙数据库 : range string index return query error

转载 作者:行者123 更新时间:2023-12-03 01:45:06 26 4
gpt4 key购买 nike

我正在尝试在 CosmosDB 文档集合上创建自定义索引策略,以便仅在索引中包含 1 个字段。

索引策略如下:

new IndexingPolicy
{
Automatic = true,
IndexingMode = IndexingMode.Consistent,
ExcludedPaths = new Collection<ExcludedPath>(new[]
{
new ExcludedPath { Path = "/*" }
}),
IncludedPaths = new Collection<IncludedPath>(new[]
{
new IncludedPath
{
Path = "/Id/?",
Indexes = new Collection<Index>(new Index[] { new RangeIndex(DataType.String) {Precision = -1 } })
}
})
};

然后我对文档集合进行查询:

 CosmosClient.CreateDocumentQuery<Entity>(
CollectionUri(docCollection),
"SELECT x from x where x.Id != \"\" ",
new FeedOptions
{
MaxItemCount = 100,
RequestContinuation = null,
EnableCrossPartitionQuery = false,
PartitionKey = new PartitionKey("entities"),
}).AsDocumentQuery();

此类请求会引发错误:已使用针对从索引中排除的路径的过滤器指定了无效查询。考虑在请求中添加允许扫描 header 。

虽然几乎相同的结果(检查相等而不是不相等)给出了正确的结果。

我是否配置了错误的索引策略或者在查询时需要指定一些额外的参数?谢谢

最佳答案

您的分区键路径也应该包含在包含的路径中。它隐式包含为过滤器,因为您在 PartitionKey = new PartitionKey("entities") 中设置它。

关于azure - 宇宙数据库 : range string index return query error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com