我有一个行为:
public class Act
{
public Act()
{
this.Tags = new List<Tag>();
}
public string Id {get; set;}
public string Name { get; set; }
public IList<Tag> Tags { get; set; }
}
标签只是:
public class Tag
{
public string Name { get; set; }
public string LfmUrl { get; set; }
}
我希望能够查询数据库并获取TagCount列表,其中显示了标记的名称及其显示的次数。
到目前为止,我有这个:
public class Tags_ByTagCloud : AbstractIndexCreationTask
{
public override IndexDefinition CreateIndexDefinition()
{
return new IndexDefinition<Act, TagAndCount>
{
Map = docs => from doc in docs
from tag in doc.Tags
select new
{
Name = tag.Name,
Count = 1
},
Reduce = results => from result in results
group result by result.TagName
into g
select new
{
Name = g.Key,
Count = g.Sum(x => x.Count)
},
SortOptions = {{x => x.Count, SortOptions.Int}}
}.ToIndexDefinition(DocumentStore.Conventions);
}
}
幸福地没有输出任何东西。我知道有成千上万的行为,每个行为至少有几个标签。有什么想法吗?
我理想地想传入一个act id列表来查询它。因此,给定一个行为列表,标签是什么以及有多少次 每次都会发生?
答案 0 :(得分:0)
只需更改所有TagName以匹配Name并且它很好地映射