Ошибка: "Отсутствует обязательное поле" с использованием встроенных объектов в файле конфигурации 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>
Другие вопросы по тегам