1
나는 다음과 같은 인덱스를 만든 null로 변환 할 수 없습니다 : 문자열이
public class LawDisadvantagesForListIndex : AbstractIndexCreationTask<LawDisadvantage, LawDisadvantagesForListIndex.IndexResult>
{
public class IndexResult
{
public string Id { get; set; }
public long Rating { get; set; }
}
public class LawDisadvantageForList
{
public string Id { get; set; }
public long Rating { get; set; }
public long CommentsCount { get; set; }
}
public LawDisadvantagesForListIndex()
{
Map = lawDisadvantages => from lawDisadvantage in lawDisadvantages
from vote in lawDisadvantage.Votes
select new {Id = lawDisadvantage.Id, Rating = vote.Value};
Reduce = (lawDisadvantages => from lawDisadvantage in lawDisadvantages
group lawDisadvantage by lawDisadvantage.Id
into agg
select new
{
Id = agg.Key,
Rating = agg.Sum(x => x.Rating)
});
TransformResults = (database, indexResults) => from indexResult in indexResults
let lawDisadvantage = database.Load<LawDisadvantage>(indexResult.Id)
select new
{
Id = lawDisadvantage.Id,
Rating = indexResult.Rating,
CommentsCount = lawDisadvantage.Comments.Count
};
}
}
그래서 나는 맵리 듀스에 의해, 그것을 과정을 LawDisadvantage 문서를 가지고 다음 변환하여 몇 가지 추가 필드를 추가 할 수 있습니다. 그러나 결과로 예외 메시지 "System.InvalidOperationException : 변환 결과 함수가 실패했습니다. Doc '', 오류 : 형식 'string'을 'long'"으로 변환 할 수 없습니다. " 예외 소스는 "indexResult.Rating"절입니다.
다만, this 질문과 관련이 있습니다.
업데이트. 불안정한 버전을 마지막으로 업데이트했습니다. 고정되어 있습니다.