CouchDB在map函数中成对地发出所有文档

CouchDB在map函数中成对地发出所有文档,couchdb,similarity,cartesian-product,closest-points,Couchdb,Similarity,Cartesian Product,Closest Points,我需要创建一个视图,该视图为每对文档(所有文档的笛卡尔乘积)生成一个值 例如,假设DB有ID为a,b,c->的文档,那么视图应该发出9个键aa,ab,ac,ba抄送(假设没有分组) 例如,如果文档是带有坐标的“城市”,视图将返回城市对和它们之间的距离(实际示例更复杂),因此我可以使用\u list函数计算“前10个最近的城市”,以此类推 这看起来是一个非常简单的任务,然而谷歌和其他搜索引擎并没有给出结果。我是否遗漏了一些神奇的关键字?我想不出在CouchDB中实现这一点的方法-从根本上说,这不适

我需要创建一个视图,该视图为每对文档(所有文档的笛卡尔乘积)生成一个值

例如,假设DB有ID为
a
b
c
->的文档,那么视图应该发出9个键
aa
ab
ac
ba
<代码>抄送(假设没有分组)

例如,如果文档是带有坐标的“城市”,视图将返回城市对和它们之间的距离(实际示例更复杂),因此我可以使用
\u list
函数计算“前10个最近的城市”,以此类推


这看起来是一个非常简单的任务,然而谷歌和其他搜索引擎并没有给出结果。我是否遗漏了一些神奇的关键字?

我想不出在CouchDB中实现这一点的方法-从根本上说,这不适合映射/减少索引-在映射函数中,您一次只能访问一个文档,在减少阶段,您需要减少结果(计算笛卡尔积将扩展它)

如果您使用另一个系统预计算城市之间的距离,那么CouchDB很可能适合存储和查询笛卡尔乘积的结果(例如,查找前10个最近的城市)。不过,您可能还需要查看图形数据库(Neo4j或Giraph)