【发布时间】:2019-01-23 15:55:51
【问题描述】:
我有一个巨大的 Cosmos DB 集合。它有大约 500K 条记录,我的 RU 范围是 1000RU/s。我为我的自定义列创建了列索引。下面是索引 JSON 模式。
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/Column1/?",
"indexes": [
{
"kind": "Range",
"dataType": "String",
"precision": -1
}
]
},
{
"path": "/Column2/?",
"indexes": [
{
"kind": "Range",
"dataType": "String",
"precision": -1
}
]
}
],
"excludedPaths": [
{
"path":"/Column4/*"
}
]
}
下面是我的收藏结构。
{
"Column1": "Data1",
"Column2": "Data2",
"Column3": "Data3",
"Column4": "Data4"
}
当我触发以下选择查询 ("SELECT * FROM r where INDEX_OF(r.Column2,'Data2')>-1") 时,它会返回正确的值。但它是批量执行它,而不是从索引中获取值。例如,查询应该只返回一条记录。但它返回空白并带有延续令牌。我希望索引应该从现有索引返回记录。有什么我错过的吗?
【问题讨论】:
-
您使用 INDEX_OF 而不是字符串比较是否有原因?
标签: azure nosql azure-cosmosdb