1
다음과 같은 map/reduce 인덱스가 있습니다 (서버에 정의 된대로).RavenDB 쿼리의 집계/축소 인덱스 집계/축소 인덱스
지도 :
from request in docs.Master_Requests
select new
{
DocumentID = Guid.NewGuid(),
Year = request.Timestamp.Year,
Month = request.Timestamp.Month,
Day = request.Timestamp.Day,
Hour = request.Timestamp.Hour,
Minute = request.Timestamp.Minute,
RequestBytes = request.RequestBytes,
ResponseBytes = request.ResponseBytes,
TotalRequests = 1
}
가 감소 : 나는지도의 결과를 조회하기 위해 노력하고있어
from result in results
group result by new { result.Year, result.Month, result.Day, result.Hour, result.Minute }
into g
select new
{
DocumentID = Guid.NewGuid(),
Year = g.Key.Year,
Month = g.Key.Month,
Day = g.Key.Day,
Hour = g.Key.Hour,
Minute = g.Key.Minute,
RequestBytes = g.Sum(r => r.RequestBytes),
ResponseBytes = g.Sum(r => r.ResponseBytes),
TotalRequests = g.Sum(r => r.TotalRequests)
}
을 /과 같이 인덱스를 감소 :
session.Query<UsageAggregate>("RequestAggregateByMinute", true)
.Where(a => a.TotalRequests >= 1);
을 그러나, 나는 1보다 큰 TotalRequests 속성을 가진 많은 결과가있을 때 결과가 돌아 오지 않습니다. 결과가 나타납니다. where 술어를 포함하지 않고 집계 된 속성 (RequestBytes, ResponseBytes 및 TotalRequests) 이외의 다른 속성을 필터링 할 때도 결과를 얻습니다.
누군가 내가 잘못하고있는 것을 이해하도록 도와 줄 수 있습니까?
조금 더 자세한 정보. 집계 된 필드에 대해 범위 쿼리를 수행 할 수 없습니다 (예 : 작동하지 않는 것보다 큼, 같음은 작동 함). –