Hi, you could use the multiview for this;
so have a single view that emits each of the keywords as a key and then the multiview will calculate on the server the intersection of two views (e.g. view one would be keyed on blue, view two would be keyed on dog), the multiview would only return the documents with both keys. More details here http://github.com/normanb/couchdb and I would really like some feedback on this! thanks, Norman On Tue, Sep 14, 2010 at 2:07 PM, Nils Breunese <[email protected]> wrote: > You'll need to get the documents containing "Blue" and the documents > containing "Cat" and let the client do the intersection. Or add > couchdb-lucene to the mix, which offers full-text indexing: > http://github.com/rnewson/couchdb-lucene > > Nils. > ________________________________________ > Van: Ido Ran [[email protected]] > Verzonden: dinsdag 14 september 2010 22:05 > Aan: CouchDB MailingList > Onderwerp: "IN" SQL Clause in Couch View > > Hi, > I am trying to create a view like the one exist in taskr application called > tag-cloud/ > I want to be able to retrieve all documents which contain all the keywords I > specify. > > For example: > { > _id: "A", > keywords: ["Dog", "Cat", "Blue"] > } > { > _id: "B", > keywords: ["Dog", "Tree", "Blue"] > } > > Now, if I ask for documents with ["Dog"] I want to get both documents back. > If I ask for documents with ["Blue", "Cat"] I want to get document A only > because B does not have both Blue and Cat. > The order is not important to me. > > How can I go about it with CouchDB views? > > Thank you, > Ido >
