couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bradford Winfrey <>
Subject Re: Views using JSON Arrays
Date Tue, 08 Jul 2008 18:25:49 GMT
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 <>
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 < 
>>> > 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
> --

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message