RavenDB .NET İstemcisi'nde Map-Reduce'un nasıl uygulanacağını ve kullanılacağını gösteren bir örnek arıyorum.RavenDB Map-Reduce Örneği .NET İstemcisi Kullanılıyor
Belirli bir senaryoyu uygulamak istiyorum: benzersiz ve toplam ziyaretçi sayısı oluşturmak. RavenDB içinde saklanan olacağını
Örnek bir belge:
public class StatisticsEntry
{
public string Id { get; set; }
public string UserId { get; set; }
}
Ben Haritası kullanarak standart bir dizin oluşturmak için nasıl anlamaya, ama aslında işlevini azaltın nasıl kullanılacağı konusunda kayboldum ve sonra sonuçları al.
Ne yazık ki, example provided on the RavenDB Site, neler olup bittiğini açıklamıyor, böylece .NET API'sı aracılığıyla nasıl kullanılacağını anlayabiliyorum ve örnekler bunu .NET API kullanarak hiç uygulamıyor gibi görünüyor.
public class Statistics_UniqueVisitors : AbstractIndexCreationTask<StatisticsEntry>
{
public Statistics_UniqueVisitors()
{
Map = entries => from entry in entries
select new { entry.UserId, Count = 1 };
Reduce = results => from result in results
group result by result.UserId into g
select new { UserId = g.Key, Count = g.Sum(x=>x.Count) };
}
}
Ardından kullanarak bu sorgulayabilir: Burada
Neyi başarmak istiyorsunuz? Tarih saatini herhangi bir şekilde kullanmak mı istiyorsunuz? (Günde, ayda, yılda, kinda şeyler?) –
Şu anda yok. Bu alanı kullanarak daha sonra ek dizinlerim olabilir. Şimdilik, basitleştirmek için onu sınıftan kaldıracağım. "Kazanmak İstiyorum" konusuna gelince: - İstatistiklerin toplam sayımını gösterir.) İstatistiklerin Toplam sayısı ve b) Benzersiz Kullanıcılar. –
Tamam - çünkü bu tür senaryoda 'gruplama' başına bir eşleme/azaltma endeksine ihtiyacınız olacaktır - bir –