【发布时间】:2014-08-18 08:57:32
【问题描述】:
我有记录用户对某个项目的评分的“评分”文档,如下所示:
accountID: a1, itemID: i1, rating: 1
accountID: a2, itemID: i1, rating: 1
accountID: a3, itemID: i1, rating: 1
accountID: a1, itemID: i2, rating: 1
accountID: a2, itemID: i3, rating: 1
我想创建一个视图来显示哪些用户对同一项目进行了评分,以及评价了多少次。根据上述数据,我们看到 a1、a2 和 a3 对 i1 的评分相同,而 i2 和 i3 只是单独评分。结果集应如下所示:
accountID1: a1, accountID2: a2, numMatches: 1
accountID1: a1, accountID2: a3, numMatches: 1
accountID1: a2, accountID2: a3, numMatches: 1
这表明 a1 和 a2 都对同一个项目进行了一次评分 (i1),a1 和 a3 以及 a2 和 a3 也是如此(均为 i1)。其他项目被忽略,因为只有一位用户对其进行了评分。
是否可以通过 couchdb/cloudant 中的 map/reduce 实现这种转换?还是我必须通过提取给定项目的所有评级并运行每个帐户来在客户端进行计算?
【问题讨论】:
标签: mapreduce couchdb cloudant