Frage

ich habe einen Akt:

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; }

}

Tag ist einfach:

public class Tag
{
    public string Name { get; set; }

    public string LfmUrl { get; set; }
}

Ich will die DB in der Lage sein abzufragen und eine Liste von TagCount zurück, die den Namen des Tags zeigt und die Anzahl der es angezeigt wird.

Bisher habe ich dies:

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);
    }
}

Welche glücklich gibt nichts aus. Ich weiß, es gibt Tausende von Akten mit jeweils zumindest ein paar Tags. Irgendwelche Ideen?

Ich möchte im Idealfall in einer Liste von Akt-IDs übergeben diese gegen abzufragen. Also, da eine Liste von Handlungen, was sind die Tags und wie oft tut jeder auftreten?

War es hilfreich?

Lösung

Wir hatten gerade alle TagName ändern Namen übereinstimmen und es kartiert schön

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top