Ошибка: "Отсутствует обязательное поле" с использованием встроенных объектов в файле конфигурации DIH Solr
Я пытаюсь импортировать несколько таблиц из базы данных MySQL с помощью обработчика импорта данных (DIH). 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 в файле конфигурации не работает должным образом. Я пробовал разные варианты написания имен таблиц и столбцов, но не могу заставить его работать.
1 ответ
Решение
(Просто попробуйте) Попробуйте удалить первичный ключ и использовать верхний регистр, например:-
<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>