0

SOLRDataImportHandlerを使用してデータをフィードしようとしています。ルートエンティティからフィールドを1つだけインポートした場合、構成は単純で簡単で、すべてが正常に機能しました。

しかし、ネストされたエンティティからフィールドをインポートしようとすると、機能せず、本当に戸惑い、行き詰まります。

これが私の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>

興味深い点は、idフィールドが空であるエンティティbの3つのクエリだと思います。$ {a.b_id}が評価されていないように思えますが、理由がわかりません。

誰か助けてもらえますか?前もって感謝します。

4

1 に答える 1

2

ハ、いつものように-午後中ずっと解決策を見つけようとして過ごした後、私がすべてのアイデアを使い果たしてコミュニティに質問したとき..私は突然解決策を自分で見つけました:)

キャッチは大文字と小文字の区別でした-詳細なXML出力を適切に見ると、何らかの理由があります。そこで、式$ {a.B_ID}を使用しようとしましたが、機能します。

大文字は、OracleJDBCドライバーにのみ固有である可能性があります。

于 2011-01-07T10:30:42.617 に答える