CouchDB标签云视图

3

假设我的CouchDB数据库中有一些文档,我想获得一个按与每个标签相关联的文档数量排序的标签列表。文档具有以下结构:

{
    "name": "Document Name 1",
    "description": "Document description",
    "tags": ["tag1", "tag2", "tag3"]
}

我可以创建一个视图,列出每个标签及其关联的文档数量,如下所示:
function(doc) {
  if (doc.type == "Document") {
    for (tag in doc.tags) {
      emit(tag, 1)
    }
  }
};
function(keys, values, rereduce) {
  return sum(values);
}

这种方法的问题在于标签名称将成为结果集中的键,因此我无法按文档数量排序并将结果限制为前X个标签。我感觉自己可能忽略了某些非常明显的东西,但仍然找不到解决方案。
1个回答

2

谢谢提供这些链接,非常有帮助。在内存中排序或使用列表函数对我来说都行不通,原因有几个,包括数据集的大小,但将这些数据复制到单独的数据库或文档中是可行的。 - Alexander Finn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接