首页 > 解决方案 > 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

但我仍然没有从查询中得到任何输出。

标签: azure-cosmosdbgeospatialgeojson

解决方案


默认情况下,空间参数的索引似乎仅基于点。我也添加了多边形索引,然后它就起作用了。


推荐阅读