我目前正在尝试在 Geo Couch 上找到好的文档,并查看我是否能够实现 n 维索引。我需要在功能上实现地理空间。我发现这是一个天真的解决我的问题。因为我有一个 12 维特征空间,可以立即将其视为一个度量空间,比如欧几里得度量,我需要在这 12 个昏暗空间中聚类点并查询 k 最近邻,如果有人有更好的解决方案或者可以在使用 Geo Couch 和 CouchDB 时为我指明正确的方向,请回复这篇文章。
1 回答
地理空间视图的 Couchbase 文档目前仅反映旧 API,因此对较新的多维功能没有太大帮助。
我可以为您指出的最佳文档位于https://github.com/couchbase/geocouch/wiki/Spatial-Views-API。在Array 标题下,您会发现:
由于空间视图现在是多维的,因此您将键指定为数组,其中每个元素都是一维的。每个维度都可以是单个值或范围。仅支持数字(GeoJSON 几何有一种特殊情况,见下文)。
在查询部分你会看到:
空间视图的查询有两个新的查询参数(start_range 和 end_range),它们优于 bbox 参数。
基本上,您可以发出一个键,例如可能表明空岛附近在两年[0.0001, -0.0001, [2012,2014]]
内存在物体。然后,您可以查询以查找自 2013 年以来以及之后的任何时间在该附近的所有内容,从而重叠该示例项目。start_range=[-0.5, -0.5, 2013]&end_range=[0.5, 0.5, null]
我不认为 k-nearest search 已经发布,尽管我认为曾经有一个原型补丁。您可以通过 Couchbase 论坛、GeoCouch 问题跟踪器进行查询,或者直接询问@vmx。您也许可以通过限制结果并搜索更大/更小的边界框直到找到正确的结果集来实现“穷人的版本”——根据您的数据分布方式,显然不是最佳的。