如何AbstractIndexCreationTask
为以下场景创建合适的?
对于多个博客的场景,如何从特定博客中获取标签以及这些博客的标签计数?
对存储在 RavenDB 中的数据结构感兴趣的成员:
public class BlogPost {
public string BlogKey { get; set; }
public IEnumerable<string> Tags { get; set; }
/* ... */
}
我需要实现的方法具有以下签名:
public Dictionary<string, int> GetTagsByBlogs(string tag, params string[] blogKeys)
在普通的 LINQ 中,我会这样写:
var tags = from post in blogPosts
from tag in post.Tags
where blogKeys.Contains(post.BlogKey)
group tag by tag into g
select new {
Tag = g.Key,
Count = g.Count(),
};
但 RavenDB 既不支持SelectMany
也不GroupBy
支持。我已经为 map-reduce 解决方案尝试了不同的组合,但我无法弄清楚如何做到这一点,因为map 和 reduce 在 data-structure 方面不同。