具有大几何的couchbase空间查询

时间:2015-04-09 02:55:14

标签: javascript couchbase

我使用Couchbase 3.0.2来存储GeoJSON文档。我已经定义了一个非常简单的空间视图:

function (doc) {
    if (doc.geometry) {
        emit(doc.geometry, null);
    }
}

查询:

http://localhost:8092/feature/_design/dev_foo/_spatial/bar?bbox=-180%2C-90%2C180%2C90&stale=false&connection_timeout=60000&full_set=true

工作正常,直到我添加一个具有非常大的几何形状的文档,例如10,000分:

{"id": "1234",
 "geometry": {"type":"Polygon","coordinates":[[[145,-38],[145.1,-38.1], ...10,000 more ... ]]}}

我收到错误:

{"error":"error","reason":"{index_builder_exit,139,<<>>}"}

是否有可记录为空间视图的几何体大小的文档上限?

是否有任何变通方法可以让Couchbase处理这些大型几何体 - 或者至少忽略它们而不是完全失败?

1 个答案:

答案 0 :(得分:0)

Couchbase的优秀开发人员已经确认使用大型几何作为发射密钥是一个错误,并将在下一个版本中修复(即在3.0.3之后)。

请参阅https://forums.couchbase.com/t/spatial-views-and-geometry-size-limits/3465

与此同时,他们建议的解决方法是计算并发射边界框而不是整个几何体。