Я запускаю с CouchDB и нуждаюсь в небольшой помощи.
У меня есть много данных, которое перечислено пользователю в таблице. Пользователь должен смочь отфильтровать те данные несколькими динамическими параметрами.
Например, примите таблицу с полевой датой, автором, тегами, is_published, заголовок.
Пользователь должен смочь указать, что любой фильтр как "Содержит тег 'couchdb', и is_published=true" или "дата в течение прошлого месяца, и автор - я".
Как такие запросы работают в CouchDB?
Я думаю, что стандартным ответом на сложные запросы является использование Lucene. Возможно, это не тот ответ, который вы искали, но в Lucene есть более продвинутые возможности фильтрации.
Взгляните на couchdb-lucene на github . В вики couchDB есть еще одна страница, посвященная полнотекстовой индексации .
Готовое решение состоит в том, что вы заранее создаете для них эти запросы в своих проектных документах. Если вы правильно или неправильно чувствуете, что это ограничит ваших пользователей, то следуйте совету Андюка и посмотрите couchdb-lucene.
Хотя было бы подозрительно, если бы вы не смогли сделать то, что искали, с помощью нескольких запросов map / reduce. Помните, что вы можете emit () более одного раза в функции карты.