couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Wolff <awo...@gmail.com>
Subject Re: couchdb soriting with value question?
Date Sat, 20 Jun 2009 19:09:30 GMT
Hmm. I guess this only works if the sort key is available at map time.
This is more for finding  uniques.

A
On Saturday, June 20, 2009, Adam Wolff <awolff@gmail.com> wrote:
> A little jumpy with the space bar today. As I was saying,Depending on the nature of your
reduce function, you may be able to do something like this:
>     emit([key, sortKey], {value: value, sortKey: sortKey})
>
> Then you reduce to the top K values and emit a sorted list that looks like:   [ {value
: value, sortKey:first} .... {value: value, sortKey: Kth} ]
>
> You have to arbitrary limit the number of values due to this bug/feature:
> http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#head-83d2e6cce911a0d314d0c5234ff5f19646408113
>
> If you want to page, you query the index starting with [key, Kth] and then reduce the
result against the list from the first page (in fact, you can use the reduce function you
write in the DB for this if you have an app environment where you can run javascript.)
>
> A
> On Sat, Jun 20, 2009 at 11:05 AM, Adam Wolff <awolff@gmail.com> wrote:
> One patter to solve for this appears to be to index by the sort key, so you
>
> On Sat, Jun 20, 2009 at 8:13 AM, Chris Anderson <jchris@apache.org> wrote:
> On Sat, Jun 20, 2009 at 12:49 AM, hhsuper<hhsuper@gmail.com> wrote:
>> Thanks Jan,
>>
>> when i need to paginate the data queried from view, you mean the sorting and
>> paginating should all outside the couchdb?
>
> Sorting by value is mathematically tough, if you want to read more
> about the underlying issues check out
> http://labs.google.com/papers/sawzall.html
>
> If you can live with the sorted order being out of date, the simplest
> thing to do is copy the results of a group=true query to another
> database (via a scripting language like ruby or python) and then use a
> view to sort those results by value. It won't be incrementally updated
> as records are updated in the original database, but it will give you
> an exact ordering by value.
>
> We are thinking of building something like this into CouchDB because
> it is such a common query, but for now you've got to do it yourself.
>
> Chris
>
>>
>> On Sat, Jun 20, 2009 at 3:39 PM, Jan Lehnardt <jan@apache.org> wrote:
>>
>>>
>>> On 20 Jun 2009, at 03:05, hhsuper wrote:
>>>
>>>  Hi,
>>>>
>>>> i have a view (impl with map/reduce function), the value need to be
>>>> caculated in reduce function(for group reason etc.), and then how could i
>>>> sorting by the value column?
>>>>
>>>
>>> You need to sort by value outside of CouchDB.
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>>
>>>
>>
>>
>> --
>> Yours sincerely
>>
>> Jack Su
>>
>
>
>
> --
> Chris Anderson
> http://jchrisa.net
> http://couch.io
>
>
>
>
>

Mime
View raw message