Облачное представление тегов CouchDB - PullRequest
3 голосов
/ 22 ноября 2011

Учитывая, что у меня есть некоторое количество документов в моей базе данных 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 голосов
/ 23 ноября 2011
...