处理从现有规范化 mssql 数据库导入 Solr 增量数据。我无法决定我需要实施的策略,或者不知道是否有现有的工具可以做同样的事情,所以我不需要重新发明轮子。
我需要将一个文档导入 Solr 3.6 以构建一个 Solr 数据,该数据以高度规范化的方式保存在 MSSQL 中。要检索单个文档的数据,需要许多连接,这会降低性能。我有appx。db 中有 100 万个此类文档。所以完全导入 Solr 对我来说不是一个选择。
在决定方法时,我有两个问题需要考虑:
- 增量数据导入,使 SQL Server 在从 db 获取数据时不会有很重的负载。
- 每天一次将 SQL Server 中已更改的数据更新为 Solr 数据
我正在寻求您在决定将增量数据导入 Solr 的策略和工具方面的帮助。我想,我有以下选择:
自定义开发应用程序以从 MSSQL 获取数据并将其传递给 Solr。我需要跟踪数据,因为所有记录都插入到 Solr 中以及待处理的记录。同样,MSSQL 中 2% 的数据记录每天都在更新,因此需要跟踪自那时以来哪些数据发生了变化,然后在某个时间点再次将它们更新到 Solr。
使用 Solr 中的任何现有工具或实用程序来执行相同的操作,例如 DIH。我不确定这将如何解决增量数据检索的问题以及它将如何跟踪 SQL Server 中哪些数据发生了变化?同样,不确定 DIH 将如何处理需要从 db 获取数据的复杂连接。
或者在 DIH 中使用 Lusql 之类的东西,但仍然不确定它将如何解决这两个问题。虽然 Lusql 将提供在 db 中进行复杂连接的能力,但我希望这可能符合我的目的。
我赞成在 Solr 中使用 LuSQL 和 DIH,如果它可以满足目的,但仍然不确定它如何跟踪哪些数据发生了变化?或者对于这一部分,我必须通过维护进行更改的文档 ID 来手动管理,然后将其提供给 LuSQL 以从 SQL 获取数据并导入到 Solr。
我也期待您提出除此之外的建议来处理这种情况。