【问题标题】:Solr: continuous migration from MySQLSolr:从 MySQL 持续迁移
【发布时间】:2015-06-05 15:44:20
【问题描述】:
这听起来像是一个意见问题,但实际上是一个技术问题:是否有维护简单数据集的标准流程?
我的意思是:假设我所拥有的只是一些东西的清单(我们会说书籍)。主要的存储引擎是 MySQL。我看到 Solr 有一个数据导入处理程序。我知道我可以在第一次运行时使用它来提取书籍记录 - 是否可以将其用于持续迁移?如果是这样,它对于更新已经被拉入 Solr 的书籍是否同样适用于拉入新的书籍记录?
否则,如果数据导入处理程序不是执行此操作的标准方式,还有哪些其他方式?想法?
非常感谢您的帮助!
【问题讨论】:
标签:
mysql
solr
database-migration
continuous
【解决方案1】:
如果您想从 Solr 中更新文档,我相信您需要使用 UpdateRequestHandler 而不是 DataImportHandler。我从来不需要在我工作的地方做这件事,所以我不太了解它。您可能会发现此链接:Uploading Data With Index Handlers。
如果您想使用新添加到 MySQL 数据库的记录来更新 Solr,您可以使用 DataImportHandler 获取 delta-import。基本上,它的工作原理是您在 MySQL 中有某种字段来显示新记录是新的。如果记录是新的,Solr 将导入它。例如,在我工作的地方,我们有一个“更新”字段,Solr 使用它来确定是否应该导入该记录。这是一个很好的访问链接:DataImportHandler
【解决方案2】:
这个问题看起来与我们正在做的问题相似,但与 SQL 不同。它与 HBase(hadoop 堆栈数据库)。但是,我们有 Hbase 索引器,它在将 DB 与 Solr 映射后,侦听 hbase(DB) 中的事件以获取新行,然后执行代码以从 DB 中获取这些值并添加到 Solr。不确定SQL是否有这样的。然而,这个概念看起来很相似。在 SQL 中,我知道可以监听插入和更新的触发器。即便如此,您也可以触发某些东西以连续方式执行添加它们的步骤。