2010-08-15 4 views
0

ASP.NET MVC 애플리케이션의 간단한 시나리오에서 Solr 및 SolrNet을 사용하고 있습니다. 단일 POCO를 문서에 매핑하는 1 대 1 매핑의 경우 모든 것이 매우과 같이 원활하게 작동합니다. 그러나 다음과 같은보다 복잡한 시나리오를 매핑 할 수 있는지 궁금합니다. 기본적으로 나는 AuctionItem이SolrNet을 사용하여 복잡한 유형을 매핑 할 수 있습니까?

public class Auction 
    { 
     public virtual int ID { get; set; } 
     public virtual string Name { get; set; } 
     public virtual AuctionItem {get;set;} 
     public virtual DateTime StartDate { get; set; } 
     public virtual DateTime EndDate { get; set; } 
    } 


    public class AuctionItem 
    { 
     public virtual int ID { get; set; } 
     public virtual string ItemName{ get; set; } 
     public virtual string ItemDescription{ get; set; } 
     public virtual Double ItemPrice{get;set;} 
    } 

분명히 내 코드에서 속성으로 경매 항목을 매핑 할 수 있습니다 아이를 포함하는 경매 클래스를 가지고,하지만 난에, 말, 항목 이름/ItemDescription/ItemPrice을 포함 할 수 있는지 궁금하네요 내 Solr 문서. 분명히 희망은 내 개체 그래프를 평평하게하는 것이 아닙니다. 이것을 달성 할 수있는 방법이 있습니까?

답변

1

그것은 현재의 open issue (당신이 그것을 구현할 수있는 기회를 가질 수 것을 의미합니다! ;-)

어쨌든 나는, 그것은 단지 하나 개의 테이블이 있음을 더 명시 적입니다 그런 식으로 수업을 평평하게하는 것이 좋습니다. Solr wiki의 단어로 :

Solr은 하나의 테이블을 제공합니다. 집합에 데이터베이스 테이블을 저장하려면 일반적으로 일부 테이블을 비정규 화해야합니다. 비정규 화를 피하려는 시도는 대개 실패합니다.

+0

멋지다. 나는 위키 인용문을 이해하지 못하고 있으며, 깊은 객체 그래프가 단일 문서에 매핑 될 수있는 경우를 확실히보고있다. SOLR 소스 코드를보고 내가 할 수있는 것을 살펴 보겠습니다! –

+0

@JP : 할 수 있는지, 언제든지 편리 할 수 ​​있습니다. Solr 인덱스별로 하나의 클래스를 매핑하는 것이 더 직선적이며 간단하다는 말입니다. –

관련 문제