I'm trying to find the function that actually does the matching of the key with what is being emitted, anyone have any insight where that is? I have the multiple keys coming in, that was trivial, but now I'm trying to see how in fact the view indexes can do multiple lookups at once. I must admit, I'm operating on no more than maybe 2 days of looking at Erlang so any extra pointers are welcomed.
----- Original Message ---- From: Damien Katz <[EMAIL PROTECTED]> To: [email protected] Sent: Thursday, July 3, 2008 1:51:38 PM Subject: Re: Views using JSON Arrays On Jul 3, 2008, at 2:34 PM, Jan Lehnardt wrote: > > On Jul 3, 2008, at 20:17, Jan Lehnardt wrote: > >> >> On Jul 3, 2008, at 20:07, Paul Bonser wrote: >> >>> On Thu, Jul 3, 2008 at 8:01 AM, Bradford Winfrey <[EMAIL PROTECTED] >>> > wrote: >>> >>>> We would get back each one of our tags as a key, yea? Only if we >>>> supplied one at a time. So how does one go about supplying a >>>> range, array (not sure what we'd call it here) of keys to be >>>> searched on? http://...?key=["octopus","hockey"] maybe? I'm >>>> unsure of the plan of attack for such a thing. Maybe I'm just >>>> going about it in the wrong direction. Any thoughts? >>> >>> Hey everyone. I've pretty much just been watching the mailing list >>> here myself. >>> >>> This is the second time somebody has asked about this since I've >>> started watching this mailing list. I could see it being a valuable >>> feature. >>> >>> Would it be valuable to add the ability to query a view with >>> multiple >>> keys, getting the results for each of those keys back? Something >>> like >>> http://...?key_list=["octopus","hockey"] >>> >>> If I were interested in investigating how hard it would be to add >>> that >>> feature, where would I start looking in the code? >> >> This simply doesn't fit the way views work. They are single indexes >> that you >> can use for single-key or or key-range lookups. if you need random >> access >> you'd basically need to query the view as many times as you have keys >> to search. No matter if you do that in front or behind the API. > > Hey you smart-ass, on the one hand you are trying to recruit new > developers and on the other hand you discourage people from adding > useful features. Make up your mind man! > > Paul, if you come up with a nice solution, we'd be happy to look at > integrating it. Please give it a try. To investigate the code it is > probably > best to start at src/couchdb/couch_http.erl as it defines the HTTP API > and handles the requests you already know and just drill down from > there. :) The view indexes can indeed do multiple lookups at once. The only thing is I don't think a GET with all the keys are URL args is the way to go as it can get really long and cause problems with proxies and HTTP libs, a POST with the lookup keys as the body is probably better. > > > Cheers > Jan > --
