With the changed requirement I guess you need a multi map index:
AddMap<User>(users => from user in users
select new
{
UserName = user.LastName + "," + user.FirstName,
HasUser = true,
Count = 0
});
AddMap<BlogEntry>(blogEntries => from blogEntry in blogEntries
select new
{
UserName = blogEntry.CreatedBy,
HasUser = false,
Count = 1
});
Reduce = results => from result in results
group result by result.UserName
into g
select new
{
UserName = g.Key,
HasUser = g.Any(x => x.HasUser),
Count = g.Sum(x => x.Count)
};
You can filter the index by the HasUser
property.