2011-01-07 2 views
0

Я пытаюсь использовать SOLR DataImportHandler для подачи данных. Конфигурация была простой и простой, и все работало нормально, когда я импортировал только одно поле из корневого объекта.SOLR DataImportHandler не оценивает выражения

Но когда я пытался импортировать поля из вложенных объектов, это не работает, и я действительно озадачен и застрял.

Здесь уместно отрывок из моего dataconfig:

<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> 

При попытке отладки импорта с помощью консоли развития DIH с многословным включен, я могу увидеть что-то вроде:

... 
<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> 

Я думаю, Интересным моментом является 3 запроса в объекте b, где поле id пусто. Мне кажется, что $ {a.b_id} не оценивается, но я не могу узнать почему.

Может кто-нибудь помочь, пожалуйста? Спасибо заранее.

ответ

2

Ха, как обычно - проведя целый день, пытаясь выяснить, решение, когда я запускаю все идеи и задать вопрос сообществу .. я вдруг найти решение сам :)

Улов был случай чувствительность - Если вы правильно посмотрите на подробный вывод XML, то по какой-то причине . Поэтому я попытался использовать выражение $ {a.B_ID}, и он работает!

Возможно, верхний регистр может быть специфицирован только для драйвера JDBC Oracle.

Смежные вопросы