Hello,

My documents contain two fields to maintain group associations, say "group"
holds the group document id, and "associated" holds the date this document
was added to the group.
Now I want to be able to know how many documents were added to a given
group[s] between two given dates.
The challenge is that to be able to filter by dates, I need to have the
date as the key first part.
But I also need the group as the first key part in order to aggregate the
number of group associations.

So I see two options here:

1.
Map: associated, {"group": group}
Reduce: a function that aggregates all values by group, which I assume is
fine as I know the number of groups is relatively small.
(plus configuring reduce_limit=false ...)

2.
Map: [group,associated], 1
Reduce: sum(values)
Here I cannot retrieve multiple groups at once, so I use a request per
desired group.

Tried the two approaches, with the first one gives faster response. Which
leads me to two questions:
1. Is there any risk in a reduce function that produces a potentially long
string?
2. Is there a better way to achieve what I do here?

Thanks!

Boaz

Reply via email to