0

Solrのデータインポートハンドラー(DIH)を使用してMySQLデータベースから複数のテーブルをインポートしようとしています。DIHは、2番目のテーブル'detail'からデータをインポートしません。

私のデータベース構成ファイルは

<document>
    <entity name="item" pk="ListingId" query="SELECT * FROM item as item where listingid=360245270">
        <entity name="detail" pk="ListingId" query="SELECT Body FROM detail where listingid='${item.listingid}'">
            <field column="Body" name="Body" />
        </entity>
     </entity>
</document>

MySQLクエリログを監視しました。実行される2つの重要なクエリは次のとおりです。

SELECT * FROM item as item where listingid=360245270

SELECT Body FROM listeditemdetail where listeditemdetail.listingid=''

明らかに、構成ファイルの「${item.listingid}」の部分が必要に応じて機能していません。テーブル名と列名に異なるスペルを試しましたが、機能しません。

4

1 に答える 1

2

(試してみてください)主キーを削除し、大文字を使用してみてください。例:-

<document name="items">
    <entity name="item" query="SELECT * FROM item as item where listingid=360245270">
        <field column="LISTINGID" name="listingid" />
        <entity name="detail" query="SELECT Body FROM detail where listingid='${item.LISTINGID}'">
            <field column="Body" name="Body" />
        </entity>
    </entity>
</document>
于 2012-11-14T04:11:21.017 に答える