MapReduce를 줄이려는 상황이 자주 발생합니다. 예를 들어 하나의 객체에서 버전을 가져오고 싶은 객체가 두 개 있고 다른 객체에서 개수를 계산 한 경우입니다.RavenDB MapReduce MapReduce 결과를 줄이거 나 집계
public class Visit {
public string Id { get; set; }
public string Version { get; set; }
}
public class Search {
public string Id { get; set; }
public string VisitId { get; set; }
}
public class MapReduceResult {
public string VisitId { get; set; }
public string Version { get; set; }
public int Count { get; set; }
}
감소시킬 때 ID 및 버전별로 방문 및 검색을 그룹화하여 버전 당 검색 횟수를 얻을 수 있습니다. 불행히도 매 방문마다 하나의 행이있을 것이고, 우리는 그 중 수백만 개를 말하고 있습니다. 따라서 클라이언트 측으로 데이터를 가져 오는 것이 선호되는 방법이 아니며, 또한 1024 개체 제한이 너무 복잡합니다.
어떻게 든 MapReduce를 줄일 수 있다면이 문제는 해결 될 것입니다. 그런 다음 버전으로 두 번째로 그룹화하면 VisitId를 완전히 무시하고 모든 계산을 요약합니다. 이 일을하는 방법이 있습니까?
Sum도 쿼리 가능하므로 서버 측 옵션이 부족한 것 같습니다.
너희들은 어떤 생각을 가지고 있니, 전혀 이해가 되니?