Сложные динамические запросы в CouchDB

Я запускаю с CouchDB и нуждаюсь в небольшой помощи.

У меня есть много данных, которое перечислено пользователю в таблице. Пользователь должен смочь отфильтровать те данные несколькими динамическими параметрами.

Например, примите таблицу с полевой датой, автором, тегами, is_published, заголовок.

Пользователь должен смочь указать, что любой фильтр как "Содержит тег 'couchdb', и is_published=true" или "дата в течение прошлого месяца, и автор - я".

Как такие запросы работают в CouchDB?

6
задан artemb 19 July 2010 в 10:24
поделиться

2 ответа

Я думаю, что стандартным ответом на сложные запросы является использование Lucene. Возможно, это не тот ответ, который вы искали, но в Lucene есть более продвинутые возможности фильтрации.

Взгляните на couchdb-lucene на github . В вики couchDB есть еще одна страница, посвященная полнотекстовой индексации .

7
ответ дан 10 December 2019 в 00:31
поделиться

Готовое решение состоит в том, что вы заранее создаете для них эти запросы в своих проектных документах. Если вы правильно или неправильно чувствуете, что это ограничит ваших пользователей, то следуйте совету Андюка и посмотрите couchdb-lucene.

Хотя было бы подозрительно, если бы вы не смогли сделать то, что искали, с помощью нескольких запросов map / reduce. Помните, что вы можете emit () более одного раза в функции карты.

3
ответ дан 10 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: