日付ごとにグループ化するなど、年/月ごとに投稿ごとに統計を取得するクエリを作成する必要があります。インデックスを作成しました:
public class Posts_Count : AbstractIndexCreationTask<Post, ArchiveItem>
{
public Posts_Count()
{
Map = posts => from post in posts
select new
{
Year = post.PublishedOn.Year,
Month = post.PublishedOn.Month,
Count = 1
};
Reduce = results => from result in results
group result by new {
result.Year,
result.Month
}
into agg
select new
{
Year = agg.Key.Year,
Month = agg.Key.Month,
Count = agg.Sum(x => x.Count)
};
}
}
スタジオには、次の map と reduce 関数があります。
地図:
docs.Posts.Select(post => new {Year = post.PublishedOn.Year, Month = post.PublishedOn.Month, Count = 1})
減らす:
results
.GroupBy(result => new {Year = result.Year, Month = result.Month})
.Select(agg => new {Year = agg.Key.Year, Month = agg.Key.Month, Count = agg.Sum(x => ((System.Int32)(x.Count)))})
しかし問題は、私が常に Year と Month プロパティの値を null にすることです:
{
"Year": null,
"Month": null,
"Count": "1"
}
私のコードで問題を解決するのを手伝ってくれる人はいますか? ありがとう!