gpt4 book ai didi

azure - 我正在更改 Cosmos DB 的索引,但它没有按预期工作

转载 作者:行者123 更新时间:2023-12-03 01:40:59 24 4
gpt4 key购买 nike

我正在使用 Azure SQL API,我的数据结构如下:

{
"deviceId": "123_123",
"comms": 0,
"engineSpdEnc": 0,
"currentTime": 1542185998605,
"deviceName": "mydevice2",
"siteId": 0,
"messageType": 2,
"data": {

"v5B3Freq": 0,
"v5B3Amp": 0,
"v5B4Freq": 0,
"v5B4Amp": 0,
"v5B5Freq": 0,
"v5B5Amp": 0,
"v6B6Freq": 0,
"v6B6Amp": 0,
"v6B7Freq": 0,
"v6B7Amp": 0,
"inletPres": 0
},
"EventProcessedUtcTime": "2018-11-14T09:01:42.6897624Z",
"PartitionId": 1,
"EventEnqueuedUtcTime": "2018-11-14T08:59:58.645Z",
"IoTHub": {
"MessageId": null,
"CorrelationId": null,
"ConnectionDeviceId": "device1",
"ConnectionDeviceGenerationId": "636758197942626855",
"EnqueuedTime": "2018-11-14T08:59:58.649Z",
"StreamId": null
},
"id": "1734dd0c-1bb5-d424-4946-e2c957bb3858",
"_rid": "lblPAOEu3xYCAAAAAAAAAA==",
"_self": "dbs/lblPAA==/colls/lblPAOEu3xY=/docs/lblPAOEu3xYCAAAAAAAAAA==/",
"_etag": "\"08008e15-0000-0000-0000-5bebe47c0000\"",
"_attachments": "attachments/",
"_ts": 1542186108 }

通过使用 Azure 门户,我已将索引策略从默认更改为以下内容:

{
"indexingMode": "lazy",
"automatic": false,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": 3
},
{
"kind": "Range",
"dataType": "String",
"precision": 3
},
{
"kind": "Spatial",
"dataType": "Point"
}
]
}
],
"excludedPaths": [
{
"path": "/data/*"
}
]
}

据此,我已禁用自动索引策略并排除了 /data/* 中的路径,这意味着如果我要查询:

select * from c where c.data.v6B7Amp = 0

它应该不会向我返回任何内容,因为 c.data.Pressure 没有索引,但我得到了其中应该包含的所有记录。

是因为我正在使用 Azure 门户更改索引还是其他原因?

最佳答案

首先,您不需要关闭自动索引或将indexingMode设置为lazy,除非您有理由这样做。

即使路径被排除,相等性检查似乎也可以工作。当您尝试针对该字段执行诸如 order by 之类的操作时,排除的路径就会生效。

以下是使用您的数据数据和索引策略的示例:

enter image description here

关于azure - 我正在更改 Cosmos DB 的索引,但它没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361918/

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