我正在尝试获取对象(比方说视频)的独特事件的计数:
以下是我的文档:
{
"type":"View",
"video_id": "12300",
"user_id": 3
}
{
"type":"View",
"video_id": "12300",
"user_id": 1
}
{
"type":"View",
"video_id": "45600",
"user_id": 3
}我正在尝试获取每个视频的唯一(通过user_id)点击量
我假设我想像这样映射我的数据:
function(doc) {
if (doc.type === 'View') {
emit([doc.video_id, doc.user_id], 1);
}
},但我不明白如何将其减少到每个视频的唯一用户,或者我错了。
发布于 2011-08-31 04:34:21
您应该查看group_level视图参数。它将允许您更改在哪些字段上进行分组。
通过使用group_level = 1,在本例中它将按video_id分组。使用group_level = 2,它将在video_id 和 user_id上进行分组。
发布于 2011-08-31 02:51:20
在请求URL后添加?group=true。将相同的关键点组合在一起作为reduce函数的输入:
function(keys, values, rereduce){
return sum(values);
}这应该就行了。
请注意,键和值是键及其值的解压缩列表。对于reduce的每次调用,键上的分组都是相同的。
https://stackoverflow.com/questions/7247914
复制相似问题