Я только начал использовать Solr. В моей базе данных у меня есть коллекция папок, содержащих два типа сущностей, позволяет называть их бочками и обезьянами. Папки содержат бочки и бочки содержат обезьян. Пользователи должны иметь возможность искать бочки и обезьяны, но им разрешено видеть только определенные папки, и поиск не должен возвращать бочки или обезьяны в папки, которые им не разрешено видеть. У меня есть запрос фильтра, который делает это отлично для баррелей, но у меня возникли проблемы с получением обработчика импорта данных для импорта идентификаторов папки для обезьян. Мой файл данных конфигурации выглядит следующим образом:Ссылки на внешние ключи в Solr dataImportHandler
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/myDB" user="myUser" password="pass"/>
<document name="item">
<entity name="barrels" query="select * from barrels where is_deleted=0" transformer="TemplateTransformer"
deltaQuery="select barrel_id from barrels where last_modified > '${dataimporter.last_index_time}'">
<field column="itemType" template="barrels" name="itemType"/>
<field column="barrel_id" name="id" pk="true" template="barrel-${barrels.barrel_id}"/>
<!--Other fields-->
<field column="folder_id" name="folder_id"/>
</entity>
<entity name="monkeys" query="select * from monkeys where is_deleted=0" transformer="TemplateTransformer"
deltaQuery="select monkey_id from monkeys where last_modified > '${dataimporter.last_index_time}'">
<field column="itemType" template="monkeys" name="itemType"/>
<field column="monkey_id" name="id" pk="true" template="monkey-${monkeys.monkey_id}"/>
<field column="barrel_id" name="barrel_id"/>
<!--Other fields-->
<entity name="barrels"
query="select folder_id from barrels where barrel_id='${monkeys.barrel_id}'">
<field name="folder_id" column="folder_id" />
</entity>
</entity>
</document>
</dataConfig>
Когда я изменяю «$ {monkeys.barrel_id}» в запросе внешнего ключа 28, он работает, но когда я пытаюсь заставить его использовать правильно id, он ничего не импортирует.
Может ли кто-нибудь определить, что я делаю неправильно, или сказать мне хороший способ отладки такого рода вещей? Например. как я могу заставить его рассказать мне, какое значение оно имеет для $ $ {monkeys.barrel_id}? Все соответствующие поля определены в schema.xml. Поскольку у меня есть эта проблема, я убедился, что все документы имеют те же имена, что и таблицы, и попытались изменить различные биты запроса на верхний регистр, но все в нижнем регистре базы данных, и похоже, что это не помогает.
https://abhijitbashetti.blogspot.com/b/post-preview?token=kKGGQk8BAAA.tsbzRwFnTyQES0DzsnH33w.bie5d42XDD_l1RyF-P3V9g&postId=2878583879845884909&type=POST –
Благодаря Abhijit. Эта ссылка не работала для меня, но я вижу, вы много писали о Solr. – Juniper83