Ввод данных из нескольких баз данных в единую коллекцию solr

Чтобы получить данные из одной базы данных, я обычно реализую процесс для их загрузки через DataImportHandler. Его довольно легко настроить, он кажется очень эффективным с точки зрения времени загрузки, и он работает очень хорошо для меня. Его легко загружать, перезагружать и поддерживать в актуальном состоянии без каких-либо дополнительных усилий.

Теперь у меня другой сценарий. Мне нужно принимать данные из нескольких баз данных для подачи одной коллекции solr, однако кажется, что DataImportHandler может не подойти, но я не уверен.

<сильный>1. Есть ли способ с помощью DIH поместить данные из нескольких баз данных в единую коллекцию solr?

<сильный>2. Если это невозможно; Какова наилучшая стратегия для достижения этого с минимальными усилиями?


person user1778669    schedule 26.03.2020    source источник


Ответы (1)


Да, возможно иметь более одного datasources для конфигурации. Чтобы настроить дополнительный источник данных, добавьте еще один тег dataSource в файл data-config.xml.

Существует неявный атрибут "name" для datasource. Если их несколько, каждый дополнительный источник данных должен быть идентифицирован уникальным именем 'name="datasource-2"' .

Это может быть что-то вроде ниже.

<dataSource type="JdbcDataSource" name="ds-1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db1-host/dbname" user="db_username" password="db_password"/>
<dataSource type="JdbcDataSource" name="ds-2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db2-host/dbname" user="db_username" password="db_password"/>

Их можно использовать в объектах, как показано ниже.

<entity name="one" dataSource="ds-1" ...>
   ..
</entity>
<entity name="two" dataSource="ds-2" ...>
   ..
</entity>
person Abhijit Bashetti    schedule 27.03.2020
comment
Поэтому всякий раз, когда мне нужно заполнить индекс данными из разных источников данных, единственный способ заставить это работать — добавить новую сущность в документ, указывающую на желаемый источник данных, и каждая запись, полученная каждым запросом сущности, станет записью в пределах коллекция. Я правильно понял? В очередной раз благодарим за помощь! - person user1778669; 27.03.2020
comment
Узел ‹/document› состоит из сущностей... здесь все данные сущностей станут одной записью - person Abhijit Bashetti; 27.03.2020