SolR 5:如何在一个核心中索引多个数据库
SolR 5 : how can I index multiple databases in one core
我目前正在尝试将多个数据库(两个 MySQL 和一个 PostgreSQL)索引到一个相同的索引中,以便在网站上进行研究。
我已经成功地在不同的核心(和不同的索引)上分别导入每个 Mysql 基础。
Edit :问题是我每个 table 都有一个 id,这些输入相互冲突。我怎么能说每个数据库都有不同的 Solr ID?
代码:
<entity name="database1" dataSource="ds-database1" query="SELECT id, my_column FROM table_database1">
<field column="id" name="id" />
<field column="my_column" name="ts_my_column" />
</entity>
<entity name="database2" dataSource="ds-database2" query="
SELECT id, column_example
FROM table_database2" >
<field column="id" name="id" />
<field column="column_example" name="ts_columnsexample" />
</entity>
您可以在使用 DIH 时使用 TemplateTransformer 在值前面添加内容,或者您可以在 SQL:
中添加内容
SELECT CONCAT('db_1_', id) AS id ...
.. 或者如果您需要更多关于转换的逻辑,您可以使用 ScriptTransformer 来完成。
我目前正在尝试将多个数据库(两个 MySQL 和一个 PostgreSQL)索引到一个相同的索引中,以便在网站上进行研究。 我已经成功地在不同的核心(和不同的索引)上分别导入每个 Mysql 基础。
Edit :问题是我每个 table 都有一个 id,这些输入相互冲突。我怎么能说每个数据库都有不同的 Solr ID?
代码:
<entity name="database1" dataSource="ds-database1" query="SELECT id, my_column FROM table_database1">
<field column="id" name="id" />
<field column="my_column" name="ts_my_column" />
</entity>
<entity name="database2" dataSource="ds-database2" query="
SELECT id, column_example
FROM table_database2" >
<field column="id" name="id" />
<field column="column_example" name="ts_columnsexample" />
</entity>
您可以在使用 DIH 时使用 TemplateTransformer 在值前面添加内容,或者您可以在 SQL:
中添加内容SELECT CONCAT('db_1_', id) AS id ...
.. 或者如果您需要更多关于转换的逻辑,您可以使用 ScriptTransformer 来完成。