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 <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote: > On Sat, Jun 20, 2009 at 12:49 AM, hhsuper<[email protected]> 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 <[email protected]> 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 > > > > >
