我需要创建一个视图,为每对文档发出一个值(_all_docs与其自身的笛卡尔积)
例如,假设DB包含ID为a
,b
,c
- >的文档。那么视图应该发出9个键aa
,ab
,ac
,ba
,...,cc
(假设没有分组)
E.g。如果文档是带有坐标的“城市”,则视图返回城市对和它们之间的距离(真实示例更复杂),因此我可以使用_list
函数来计算“top10 near cities”等等。
这看起来非常简单,但Google和SO搜索没有结果。我在这里错过了一些神奇的关键词吗?
答案 0 :(得分:0)
我想不出在CouchDB中这样做的方法 - 从根本上说,这不适合映射/减少索引 - 在map函数中你一次只能访问一个文档并处于reduce阶段你需要减少结果(计算笛卡儿积可以扩展它)。
如果您使用其他系统预先计算城市之间的距离,那么CouchDB可能非常适合存储和查询该笛卡尔积的结果(例如,找到前10个最近的城市)。但是,您可能还想查看图形数据库(Neo4j或Giraph)。