azure-cosmosdb - Cosmosdb 跨分区查询问题
问题描述
我有一个集合,其中包含地理空间数据,并由根据纬度和经度计算的参数进行分区。我运行以下查询
SELECT * FROM aggregations w WHERE ST_DISTANCE(w.geometry, {'type': 'Point', 'coordinates': [ -122.31208346990059, 47.57628387483156]}) < 200.0
它在集合未分区但由名为的字段分区时返回数据
"cell" = "30696-65181-1"
我没有得到回应。
在python中我尝试了以下选项
options = dict()
options['enableCrossPartitionQuery'] = False
options['partitionKey'] = '30696-65181-1'
也试过
options = dict()
options['enableCrossPartitionQuery'] = True
但我仍然没有从查询中得到任何输出。
解决方案
默认情况下,空间参数的索引似乎仅基于点。我也添加了多边形索引,然后它就起作用了。
推荐阅读
- python - 计算每个按列分组的行数的最佳方法
- javascript - 错误边界未由 componentDidMount 中的错误触发
- c++ - 使用递归二分搜索
- python - 在 mac os 上使用 pip 安装 mysql-python
- javascript - 定位粘性顶部和底部
- python - DataFrame有条件地组合列
- javascript - 为什么这些函数不能在数组中显示我的图像?
- python - 无法将关键字“活动”解析为字段。选择是
- android - 当我上传 PEPK 工具的输出时,Google Play 控制台显示“提供的证书无效。请提交其他证书。”
- javascript - JS 将 ISO 8601 UTC 中的日期字符串转换为 Date 对象