From user-return-15030-apmail-couchdb-user-archive=couchdb.apache.org@couchdb.apache.org Wed Feb 23 02:23:07 2011 Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 17654 invoked from network); 23 Feb 2011 02:23:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Feb 2011 02:23:07 -0000 Received: (qmail 37667 invoked by uid 500); 23 Feb 2011 02:23:05 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 37522 invoked by uid 500); 23 Feb 2011 02:23:04 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 37514 invoked by uid 99); 23 Feb 2011 02:23:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Feb 2011 02:23:04 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of andoriyu@gmail.com designates 209.85.161.52 as permitted sender) Received: from [209.85.161.52] (HELO mail-fx0-f52.google.com) (209.85.161.52) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Feb 2011 02:22:57 +0000 Received: by fxm17 with SMTP id 17so2997234fxm.11 for ; Tue, 22 Feb 2011 18:22:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:mime-version:content-type:subject:date :in-reply-to:to:references:message-id:x-mailer; bh=IRW5ph1ALnHTy2O9MbRZEzO9LvYZA39r9NOlR4+ZhLQ=; b=AcF+7Nv2OTlGCnZh33VY0KjaEwukOQnysiKsHCiBTfda4SFEHj8UQDLxAzIHd8lef2 f/qNIQ/m9VUDSw2ee3K4c/066z5G58dEIMjj8JDObhSZ7X9yHQFAnIu2+gQrRQD0uRa3 VmNA97/cwWiTxEdpPoVd+xUQ4TE7/TZNpr2vo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:mime-version:content-type:subject:date:in-reply-to:to :references:message-id:x-mailer; b=rkhrHmstMZVneIVyv0DfUDlWQDfXLCt+CzX99fkqdd4krCT2Dn846y1GKSAzxI2kSR BBZ8bxOeZgYZVPUvA5fMLkYIlubIEU9l6HAfI2Jrvc2uFoAoIHlUKpH9QHTo0P61lFh1 pKzVUWuABlpGh0LSTKyXYqiM0kxtqnUulW1OI= Received: by 10.223.29.217 with SMTP id r25mr4379386fac.87.1298427755838; Tue, 22 Feb 2011 18:22:35 -0800 (PST) Received: from [192.168.220.101] (dveri.ether.vzletka.net [89.105.128.215]) by mx.google.com with ESMTPS id o12sm307901fav.30.2011.02.22.18.22.32 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 22 Feb 2011 18:22:35 -0800 (PST) From: Andrey Cherkashin Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: multipart/signed; boundary=Apple-Mail-11-145483123; protocol="application/pkcs7-signature"; micalg=sha1 Subject: Re: Help With map function Date: Tue, 22 Feb 2011 18:22:26 -0800 In-Reply-To: To: user@couchdb.apache.org References: <28D2E88E-D082-47F0-91BE-D6902CAFD10A@GMAIL.COM> <2BB3938D-F3E1-4A8D-9A03-01C4401552AC@gmail.com> Message-Id: <8D7F7F67-E2DE-4C94-AA8A-46F2D7F3583F@gmail.com> X-Mailer: Apple Mail (2.1082) --Apple-Mail-11-145483123 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Well total 3 views: 1) All Items and key is brand 2) All Items and key is category 3) All Items and key is category,brand Right? On Feb 22, 2011, at 6:19 PM, Paul J. Davis wrote: >=20 >=20 > On Feb 22, 2011, at 9:06 PM, Javier Julio wrote: >=20 >> Paul, thanks for confirming. Can you elaborate on "the non-wildcard = selection criteria as a leading prefix"? What does that mean? >>=20 >> So to handle an AND/OR statement would best be or perhaps only way to = do with multiple views? So since Andrey wanted to support "brand and = category" or "brand or category" he would need 3 views right? >>=20 >=20 > The root is that CouchDB views don't do OR queries. For AND the terms = need to be ordered so you can apply left to right. >=20 > In a funny aside, one of the amusing from couchdb-lucene is "for when = you want foo OR bar". >=20 >> One for item, brand and category, second for item and brand, and the = third for item and category? >>=20 >> On Feb 22, 2011, at 9:01 PM, Paul J. Davis wrote: >>=20 >>> Yep, the multi-key post doesn't require string keys. >>>=20 >>> Also, when you want wild card behavior you need a view that has the = non-wildcard selection criteria as a leading prefix. It's easiest to = think about in terms of array slicing. >>>=20 >>> For the OP I would suggest multiple views with the required array = orders for the expected queries. =20 >>>=20 >>> On Feb 22, 2011, at 8:52 PM, Javier Julio = wrote: >>>=20 >>>> Andrey, >>>>=20 >>>> Great question as I had been struggling with the same. In the docs = its kind of buried there but you can post multiple keys to a view. I = believe this is what you are looking for. Correct me if I'm wrong. So = I'd create a view where the index has item, brand and category and then = you can just include a key set for each grouping you want in the post = body. >>>>=20 >>>> If you look under the table with all the query params in this = section of the View docs: = http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options you'll see = a that it mentions you can post multiple keys to a view. >>>>=20 >>>> I'm still learning myself so I'm not sure if you can post complex = keys (only simple strings are used). I would assume so since its not = stated otherwise but I believe this is what will solve your problem. >>>>=20 >>>> Ciao! >>>> Javi >>>>=20 >>>> On Feb 22, 2011, at 8:06 PM, Andrey Cherkashin wrote: >>>>=20 >>>>> Hello, >>>>>=20 >>>>> I have a problem, I can't understand how to write map function = that solves my problem: >>>>>=20 >>>>> I have a lot of "documents", each document has type (e.g. item, = user), category and brand. So i have map functions that gives me a list = of every document that has type item (that's easy), but how i can get = list of all documents that has brand =3D=3D xxx or category =3D=3D yyy = or even brand=3D=3Dxxx&category=3Dzzz (xxx,yyy,zzz different every = time). >>>>=20 >>=20 --Apple-Mail-11-145483123 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKWDCCBN0w ggPFoAMCAQICEHGS++YZX6xNEoV0cTSiGKcwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMCR0Ix GzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwR Q29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0w NDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8 om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4IBJzCCASMwHwYDVR0j BBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYEFImCZ33EnSZwAEu0UEh83j2uBG59 MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr BgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5j b21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwu Y29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDARBglghkgBhvhCAQEEBAMCAQYw DQYJKoZIhvcNAQEFBQADggEBAJ2Vyzy4fqUJxB6/C8LHdo45PJTGEKpPDMngq4RdiVTgZTvzbRx8 NywlVF+WIfw3hJGdFdwUT4HPVB1rbEVgxy35l1FM+WbKPKCCjKbI8OLp1Er57D9Wyd12jMOCAU9s APMeGmF0BEcDqcZAV5G8ZSLFJ2dPV9tkWtmNH7qGL/QGrpxp7en0zykX2OBKnxogL5dMUbtGB8SK N04g4wkxaMeexIud6H4RvDJoEJYRmETYKlFgTYjrdDrfQwYyyDlWjDoRUtNBpEMD9O3vMyfbOeAU TibJ2PU54om4k123KSZB6rObroP8d3XK6Mq1/uJlSmM+RMTQw16Hc6mYHK9/FX8wggVzMIIEW6AD AgECAhEA/Yuus9X/OiIrgeaht+spWzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UEBhMCVVMxCzAJ BgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVT VCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVU Ti1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw0xMDEyMTYwMDAw MDBaFw0xMTEyMTYyMzU5NTlaMCMxITAfBgkqhkiG9w0BCQEWEmFuZG9yaXl1QGdtYWlsLmNvbTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALgyHmrJTwzs6xjiC6WafgbEN6nqF/VUTuOv SlWOOIyQcs9EFd7A4f6p2lovz9qVvP233ZlWhdbdKMiR+y1nXOApcY5u1cvjSmdVKzS+LvW4x8uR ZRhrGU0zUsxGFV4AmAo3NDOKTj8UgOGYoYmMv82r2mBnVwF+2WWEf6hmzOoXu+HzY9qmlIYHYDjf E44IPg7QIRaxvZoWRgYAM3iJMS1xlIVHRXQH5oyha3zzeg7iy/Aq00b0CZOydersNWr7u9SJrmpf y9Q+IIz9wD3gm5SLoHAsPs6mX/8ADgvtt5aW4W5FvbODUHkhaM3pWx+mLkVNFfYnOnBFYlA7CtWf tw0CAwEAAaOCAhQwggIQMB8GA1UdIwQYMBaAFImCZ33EnSZwAEu0UEh83j2uBG59MB0GA1UdDgQW BBRMVludDF2deNGf4hYYbCvAAwnnNjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAgBgNV HSUEGTAXBggrBgEFBQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4QgEBBAQDAgUgMEYGA1UdIAQ/ MD0wOwYMKwYBBAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5u ZXQvQ1BTMIGlBgNVHR8EgZ0wgZowTKBKoEiGRmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1V U0VSRmlyc3QtQ2xpZW50QXV0aGVudGljYXRpb25hbmRFbWFpbC5jcmwwSqBIoEaGRGh0dHA6Ly9j cmwuY29tb2RvLm5ldC9VVE4tVVNFUkZpcnN0LUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kRW1haWwu Y3JsMGwGCCsGAQUFBwEBBGAwXjA2BggrBgEFBQcwAoYqaHR0cDovL2NydC5jb21vZG9jYS5jb20v VVROQUFBQ2xpZW50Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20w HQYDVR0RBBYwFIESYW5kb3JpeXVAZ21haWwuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQB3QO1+ARPM hgWJdPhrvLA7JYI4iWsXXb9+UJgCPseihWAC50y3mwRPDjmScBUBAxLdEPGW7XgZZQYdMq01Sojh uLX6v2cKpEbM6dzChjoUZChYmquPpPXoNn/bGuTtyoIdlV7QA2i6ZnNSTPosqfaqFCYvYgD+gCVv M6+v6vbEcMmfvUCfdwki1VFbYqX/wiVXF5C4vKUyJZ0tpZazLcazdyTwfDnnvaqX67Vv3FY74iDU YeDyaoQdAYSBfgptgWq3l+lhOT6/VhskvArUTQOvkSFr4Kr5aGE9UPzHkR8s3dh3ySOvydV5w3nw tiaguA5UHyBulu+2SkhwuBuqU2MgMYID/zCCA/sCAQEwgcQwga4xCzAJBgNVBAYTAlVTMQswCQYD VQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1Qg TmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMTYwNAYDVQQDEy1VVE4t VVNFUkZpcnN0LUNsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgRW1haWwCEQD9i66z1f86IiuB5qG3 6ylbMAkGBSsOAwIaBQCgggIPMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkF MQ8XDTExMDIyMzAyMjIyNlowIwYJKoZIhvcNAQkEMRYEFJlFViO/jbaV6X6VEOUHNMiViQMQMIHV BgkrBgEEAYI3EAQxgccwgcQwga4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMO U2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMY aHR0cDovL3d3dy51c2VydHJ1c3QuY29tMTYwNAYDVQQDEy1VVE4tVVNFUkZpcnN0LUNsaWVudCBB dXRoZW50aWNhdGlvbiBhbmQgRW1haWwCEQD9i66z1f86IiuB5qG36ylbMIHXBgsqhkiG9w0BCRAC CzGBx6CBxDCBrjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3 LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0 aW9uIGFuZCBFbWFpbAIRAP2LrrPV/zoiK4HmobfrKVswDQYJKoZIhvcNAQEBBQAEggEAGIBgk9Iy CBA0oNqYHGodevaoPVse9wFuzamyJkdRW6bWWWE6CNO+Wc7jtdfJh+dSP53Ws9KdVlU7kxiUCNG1 zk3boMY8m9ZhgNPfuWDFC0ZuoquJ6UQV3ALgWl+Pjtw5G6oqAUcjvSvN75l6Fb3AGZzfBZ78/JQ3 RrWk768wYOnlXv26QTIrh1Bx6iZ59erDwNznnroZf4ZW7N5MV9GsC6LEXhQTuZuwhSxuEI+NfJu4 +8n2fRGHIV88GgfCKqJrrguplHruoajzSupWBVMn/7dZjQKb+l9KJ6abaE5C8tIaeUq8AxZBLhcp azdEEEzegirC6EIkBp+VqCDZwI487wAAAAAAAA== --Apple-Mail-11-145483123--