Получать данные из нескольких баз данных в одну коллекцию Solr - PullRequest
1 голос
/ 27 марта 2020

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

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

1. Есть ли способ объединить данные из нескольких баз данных в одну коллекцию Solr, используя DIH?

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

1 Ответ

0 голосов
/ 27 марта 2020

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

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