2010-12-23 5 views
0

я есть акт:просто еще один 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); 
    } 
} 

Который счастливо выводит ничего. Я знаю, что есть тысячи действий, каждый из которых содержит по меньшей мере несколько тегов. Есть идеи?

В идеале я хочу передать список идентификаторов действий, чтобы запросить это. Итак, учитывая список действий, какие теги и сколько раз происходит ?

+0

Я предполагаю, что это C#, а не С. – EboMike

+0

Sorry - нажмите кнопку представить перед тем, реализующим - хорошим вызовом :) – iwayneo

+0

мы не знаем, что docs или результаты, или ToIndexDefinition(). Посмотрели ли вы результат запроса на карту и уменьшили ее отдельно? Здесь для меня недостаточно информации. – tster

ответ

0

Просто пришлось изменить все TagName, чтобы соответствовать имени и отображаются красиво

Смежные вопросы