gpt4 book ai didi

solr - 如何使用 Sunspot/Websolr 在服务器之间快速传输数据?

转载 作者:行者123 更新时间:2023-12-01 23:48:55 25 4
gpt4 key购买 nike

由于我怀疑我的设置相当传统,所以我想先提供一些背景信息。我们的 Solr 设置涉及三个环境:

  1. 生产 - 托管在 Websolr 上的 Solr 服务器.
  2. 暂存 - 也是托管在 Websolr 上的 Solr 服务器.
  3. 开发 - 通过 sunspot_solr 提供支持gem 使我们能够轻松地设置我们自己的本地 Solr 服务器进行开发。

在大多数情况下,这运作良好。我们有很多记录,所以做一个完整的重新索引需要几个小时(尽管急切加载和使用后台作业来并行化工作)。但这并不太糟糕,因为我们不需要经常完全重建索​​引。

但还有另一种情况开始变得非常烦人......我们经常需要用生产数据填充我们的本地机器(或暂存环境)(即基本上从生产中获取 SQL 转储并将其通过管道传输到我们的本地数据库).我们一直这样做是为了修复错误等等。

此时,由于我们的数据发生了变化,我们本地的 Solr 索引已经过时了。因此,如果我们希望我们的搜索正常工作,我们还需要重新索引我们的本地 Solr 服务器,这需要很长的时间

所以现在的问题是:我不想做一个完整的重新索引,而是想简单地将生产索引复制到我的机器上(即概念上类似于 SQL 转储,但用于 Solr 服务器而不是数据库)。我用 Google 搜索了足够多的信息,知道这是可能的,但还没有看到任何特定于 Websolr/Sunspot 的解决方案。这些都是如此常见的工具,我想其他人一定已经弄清楚了。

在此先感谢您的帮助!

最佳答案

Solr(和 websolr)保存较好的 secret 之一:您可以使用 Solr Replication API在两个索引之间复制数据。

如果您正在将生产索引“prod54321”复制到 QA 索引“qa12345”中,那么您需要在 QA 索引的 上使用 fetchindex 命令启动复制复制处理程序。这是一个使用 cURL 来近似的快速命令。

curl -X POST https://index.websolr.com/solr/qa12345/replication \
-d command=fetchindex \
-d masterUrl=https://index.websolr.com/solr/prod54321/replication

(注意两个 URL 上对 replication 请求处理程序的引用。)

关于solr - 如何使用 Sunspot/Websolr 在服务器之间快速传输数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com