我正在尝试使用Solr的数据导入处理程序(DIH)从MySQL数据库导入多个表。 DIH不会从第二个表“详细信息”中导入数据。
我的数据库配置文件是
<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查询日志,执行的两个重要查询是:
SELECT * FROM item as item where listingid=360245270
SELECT Body FROM listeditemdetail where listeditemdetail.listingid=''
显然,配置文件中的'$ {item.listingid}'部分不能按要求运行。我已经为表名和列名尝试了不同的拼写,但无法使其起作用。
答案 0 :(得分: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>