2

我们的网站使用 Solr 进行搜索和过滤。我们使用 DataImportHandler (DIH) 来构建我们的索引并保持它是最新的。使用 cron,我们每天(在缓慢的时间)运行一次完全干净的导入,并使用此处描述的技术每 5 分钟进行一次增量更新:http ://wiki.apache.org/solr/DataImportHandlerDeltaQueryViaFullImport

我们的 Web 应用程序上的某些操作会触发对特定文档索引的更新。这些更新也通过 DIH 通过添加额外的 SQL 条件来匹配需要更新的文档来处理。

我们遇到的问题是,当一个索引更新正在运行时(完全导入大约需要 10 分钟,增量大约需要 30 秒),对 DIH 的任何其他请求都会被忽略,因此有时我们的应用程序触发的更新不会被执行。

我们正在考虑为作业队列和工作人员添加另一个架构层,并让所有索引更新请求都流经队列。

有没有人遇到过这个问题并且可以提出他们对这个问题的具体解决方案?非常感激!

4

0 回答 0