2013-06-18 3 views
0

자동차 및 CarParts 테이블과 같은 1 : n DB 관계로부터 데이터를 가져오고 싶습니다.
나는 테이블 위에 조인을 쓰고 싶지 않으므로
(자동차 ID와 이름은 쿼리에서 곱해 지므로 쿼리에서 더 높은 점수를 얻습니다)
나는 추천 방법을 찾고 있습니다 dataconfig 및 스키마 xml 파일에서 1 : n 연결.solr - 1 : n 관계를 정의하십시오.

+1

검색 시나리오에 따라 비정규 화합니다. http://wiki.apache.org/solr/SchemaDesign –

답변

0

다중 값 필드를 사용하여이 문제를 해결할 수 있습니다. , 스키마 파일에서

... 
<entity name="Cars" query="select carId, carName from Cars"> 

    <entity name="CarParts" query="select carPartName from CarParts 
            where carId = '${Cars.CarId}'"> 

    </entity> 

</entity> 
... 

다중으로 필드 "carPartName"을 표시 :

귀하의 dataconfig 같은 것을 보일 수 있습니다.

<field name="carPartName" type="string" indexed="true" stored="true" multiValued="true" /> 

1 : N의 관계는 현재 문서가 각각 "자동차"로 생성 된 경우, 그 "Carparts"대응 (하나 이상이 될 수 있음) 같은 문서의 일부, 즉 예컨대 처리 .

관련 문제