SOLR DataImportHandler wertet nicht Ausdrücke
-
30-09-2019 - |
Frage
Ich versuche SOLR DataImportHandler zu Feed-Daten zu verwenden. Konfiguration war einfach und unkompliziert und alles hat gut funktioniert, wenn ich nur ein Feld von Root-Entität zu importieren.
Aber wenn ich zu importieren Felder von verschachtelten Einheiten versuchte, es funktioniert nicht, und ich bin verwirrt wirklich und fest.
Dies ist relevant Schnipsel aus meinem 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>
Wenn ich zu debuggen Import versuchen, mit DIH Entwicklung Console mit ausführlichen eingeschaltet, ich so etwas wie sehen:
...
<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>
Ich denke, der interessante Punkt sind die 3-Abfragen in Entity b , wobei das ID-Feld ist leer. Es scheint mir, wie der $ {a.b_id} wird nicht ausgewertet, aber ich kann nicht herausfinden, warum.
Kann mir jemand helfen, bitte? Vielen Dank im Voraus.
Lösung
Ha, wie üblich - nach ganzem Nachmittag damit verbringen, Lösung, um herauszufinden, wenn ich alle Ideen ausgehen und frage Gemeinschaft eine Frage .. ich die Lösung plötzlich finde ich:)
Der Haken war, Groß- und Kleinschreibung - Wenn Sie richtig auf der ausführlichen XML-Ausgabe aussehen, gibt es aus irgendeinem Grunde . Also habe ich zu verwenden Ausdruck versucht $ {a.B_ID} und es funktioniert!
Vielleicht das obere Gehäuse speciffic nur für Oracle-JDBC-Treiber sein könnte.