Map / Reduce - 如何获取给定标签的出现次数?

时间:2009-08-13 17:36:09

标签: couchdb

我有一个带有tags属性的posts文档,它存储为一个简单的数组。我正在尝试编写一个视图,返回所有标记,它们出现的次数,按大多数事件排序。

以下内容返回列表,但未对其进行排序。基本上我需要以某种方式将reduce结果放入键中?如果我做了一些愚蠢的事情,请纠正我,如果我应该用我的中间件对它进行排序,请告诉我。

// map
function(doc) {
  if (doc.tags) {
    doc.tags.forEach(function(tag) {
      emit(tag, 1);    
    });
  }
}

// reduce
function(keys, values, rereduce) {
  return sum(values);
}

2 个答案:

答案 0 :(得分:0)

看起来单独使用沙发可能是不可能的。

http://osdir.com/ml/couchdb-user/2009-04/msg00081.html

答案 1 :(得分:0)

如果您只有几千个标签,则可以在列表功能中轻松实现排序。