我有 10m 个文档的集合,每个文档都有一个地理索引(x 为 0 到 1,y 始终为 0)。
我正在尝试查询最多 n 个最接近的结果以指向某个类别中的点
x_loc = 1.0
category = 'mid-level'
cursor = collection.find(
{'category': category, 'point': {'$near': [x_loc, 0]}},
limit=10)
如果只有一个带有category == "mid-level"and的文档point == [0.01, 0.0],并且 x_loc 接近 [1, 0],则查询需要很长时间来处理(比查询整个集合还要长)
如何避免这种情况?