2011-01-07 3 views
0

SOLR DataImportHandler를 사용하여 데이터를 공급하려고합니다. 루트 엔티티에서 하나의 필드 만 가져 왔을 때 구성은 간단하고 간단했습니다.SOLR DataImportHandler가 표현식을 평가하지 않습니다.

그러나 중첩 된 엔터티에서 필드를 가져 오려고하면 작동하지 않으며 정말 혼란스럽고 붙어 있습니다.

... 
<lst name="document#3"> 
<str>----------- row #1-------------</str> 
<str name="ID">PST_210-SI.10    </str> 
<str name="B_ID">6c2r3490seeqvb86pgb4c4trf9</str> 
<str>---------------------------------------------</str> 
− 
<lst name="entity:b"> 
<str name="query">select title from b where id =''</str> 
<str name="query">select title from b where id =''</str> 
<str name="query">select title from b where id =''</str> 
<str name="time-taken">0:0:0.1</str> 
<str name="time-taken">0:0:0.1</str> 
<str name="time-taken">0:0:0.1</str> 
</lst> 
</lst> 

나는 생각 : 나는 자세한 스위치와 다이 하이드로 개발 콘솔을 사용하여 디버그 가져올 때

<dataConfig> 
    <dataSource ... /> 
    <document> 
     <entity name="a" query="select id, b_id from a" pk="id"> 
       <entity name="b" query="select title from b where id ='${a.b_id}'"> 
        <field column="title" name="title" /> 
       </entity> 
     </entity> 
    </document> 
</dataConfig> 

는, 내가 좋아하는 뭔가를 볼 수 있습니다 여기에

내 dataconfig에서 관련 조각을이다 흥미로운 점은 엔터티 b에있는 3 개의 쿼리입니다. 여기서 id 필드는 비어 있습니다. 그것은 나에게 보인다, $ {a.b_id}은 평가되지 않지만, 나는 이유를 찾을 수 없다.

아무도 도와 줄 수 있습니까? 미리 감사드립니다.

답변

2

하는 평소처럼 - 내가 갑자기 솔루션 나 자신을 발견 .. 나는 모든 아이디어를 실행하고 지역 사회 질문을 할 때, 해결책을 찾기 위해 노력하고 오후 내내 지출 : 후

캐치는 대소 문자 구분했다 - verbose XML 출력을 제대로 살펴 본다면 어떤 이유로 든 이 있습니다. 그래서 표현식 $ {a.B_ID}을 사용하려고했습니다.

어쩌면 대문자는 Oracle JDBC 드라이버에서만 지정할 수 있습니다.

관련 문제