Ingo Radatz wrote:
Do you really want to eliminate keys? I would say you have to prevent the 
uninteresting keys in the map step.
If you want to filter uninteresting values you have to return a filtered version of the 
"values"-object in the reduce step.
I don't know the that the result is not interesting until the reduce has been run so I can't filter during the emit. Let's say I have a set of documents that emit:
[ a, v ] = 1
[ a, w ] = 1
[ a, x ] = 1
[ b, y ] = 1
[ b, z ] = 1

I understand that the result of the reduce for each unique key is stored in index but this value could be re-reduce(reduce([ a, {v, w} ]), reduce([ a, x])) and reduce([ b, {y,z} ]).

If the reduce function is a sum of the values when group_level=1 so it would give:
[ a ] = 3
[ b ] = 2

but I only want results in the set when the final value of the reduce is odd. Even when I don't know if it is the final reduce call I can discard any intermediate points where the sum is even because even + odd = odd. If I try to return null in the reduce/re-reduce when the value is even I get:

[ a ] = 3
[ b ] = null

I would like to have just but I don't know (or if) the keys can be entirely eliminated in the reduce step.

[ a ] = 3

Thanks,
James

Reply via email to