я есть акт:просто еще один TagCloud вопрос
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);
}
}
Который счастливо выводит ничего. Я знаю, что есть тысячи действий, каждый из которых содержит по меньшей мере несколько тегов. Есть идеи?
В идеале я хочу передать список идентификаторов действий, чтобы запросить это. Итак, учитывая список действий, какие теги и сколько раз происходит ?
Я предполагаю, что это C#, а не С. – EboMike
Sorry - нажмите кнопку представить перед тем, реализующим - хорошим вызовом :) – iwayneo
мы не знаем, что docs или результаты, или ToIndexDefinition(). Посмотрели ли вы результат запроса на карту и уменьшили ее отдельно? Здесь для меня недостаточно информации. – tster