由于我怀疑我的设置相当传统,我想先提供一些背景信息。我们的 Solr 设置涉及三个环境:
- 生产-Solr 服务器托管在Websolr上。
- Staging - 也是托管在Websolr上的 Solr 服务器。
- 开发 - 通过sunspot_solr gem 支持,它允许我们轻松设置我们自己的本地 Solr 服务器进行开发。
在大多数情况下,这运作良好。我们有很多记录,因此进行完整的重新索引需要几个小时(尽管急切加载并使用后台作业来并行化工作)。但这并不算太糟糕,因为我们不需要经常完全重新索引。
但是还有另一种情况开始变得非常烦人......我们经常需要用生产数据填充我们的本地机器(或暂存环境)(即基本上从生产中获取 SQL 转储并将其通过管道传输到我们的本地数据库中)。我们一直这样做是为了修正错误等等。
此时,因为我们的数据发生了变化,我们本地的 Solr 索引已经过时了。所以,如果我们希望我们的搜索正常工作,我们还需要重新索引我们的本地 Solr 服务器,这需要很长时间。
所以现在的问题是:我不想做一个完整的重新索引,而是简单地将生产索引复制到我的机器上(即在概念上类似于 SQL 转储,但用于 Solr 服务器而不是数据库)。我已经用谷歌搜索了足够多的信息,知道这是可能的,但没有看到任何特定于 Websolr / Sunspot 的解决方案。这些是非常常见的工具,我想其他人一定已经知道了。
提前感谢您的帮助!