【问题标题】:How to dump/backup a Solr index to a file?如何将 Solr 索引转储/备份到文件?
【发布时间】:2010-08-28 15:17:13
【问题描述】:

我正在运行一个虚拟专用服务器,每天午夜,所有文件都由 VPS 提供商自动备份

所以我需要将 Solr 索引导出到一个文件中,这样如果有一天出现问题,我就可以轻松地将它导入回 Solr .

我该怎么做?

【问题讨论】:

标签: solr backup


【解决方案1】:

Solr 数据库是一个(或几个)文件。 有一个看起来像这样的文件夹:

root@vs210044:/home/solr/apache-solr-1.4.0/example/solr/data/index# ls
segments.gen  _xzy.tii     _y26.tii     _y4f.tii     _y6o.tii    _y8n.tii  _y9i.tis  _y9k.fdt  _y9l.fdx  _y9m.fnm
segments_uud  _xzy.tis     _y26.tis     _y4f.tis     _y6o.tis    _y8n.tis  _y9j.fdt  _y9k.fdx  _y9l.fnm  _y9m.frq
_xzy_2n.del   _y26_20.del  _y4f_1z.del  _y6o_21.del  _y8n_2.del  _y9i.fdt  _y9j.fdx  _y9k.fnm  _y9l.frq  _y9m.nrm
_xzy.fdt      _y26.fdt     _y4f.fdt     _y6o.fdt     _y8n.fdt    _y9i.fdx  _y9j.fnm  _y9k.frq  _y9l.nrm  _y9m.prx
_xzy.fdx      _y26.fdx     _y4f.fdx     _y6o.fdx     _y8n.fdx    _y9i.fnm  _y9j.frq  _y9k.nrm  _y9l.prx  _y9m.tii
_xzy.fnm      _y26.fnm     _y4f.fnm     _y6o.fnm     _y8n.fnm    _y9i.frq  _y9j.nrm  _y9k.prx  _y9l.tii  _y9m.tis
_xzy.frq      _y26.frq     _y4f.frq     _y6o.frq     _y8n.frq    _y9i.nrm  _y9j.prx  _y9k.tii  _y9l.tis
_xzy.nrm      _y26.nrm     _y4f.nrm     _y6o.nrm     _y8n.nrm    _y9i.prx  _y9j.tii  _y9k.tis  _y9m.fdt
_xzy.prx      _y26.prx     _y4f.prx     _y6o.prx     _y8n.prx    _y9i.tii  _y9j.tis  _y9l.fdt  _y9m.fdx

但是:保存这个文件夹就足够了。您也可以使用增量 rsync 或其他任何方式备份整个 solr 安装...一旦再次启动,只需重新填充缓存等。

但是:我希望 solr 不是您的主数据库?它的目的是成为搜索引擎,而不是数据库的替代品,甚至不是备份! 就像 mysql 复制很适合做负载平衡,但作为备份无用...... 为什么?因为使用相同的查询,您最终可能会得到一个空索引。它与 solr/lucene 相同。 ... 或者出于许多其他原因,已经有更多聪明的人讨论过。

请记住这一点,祝你有个美好的一天!

【讨论】:

  • 嗨。你的意思是备份这个目录就够了?换句话说,如果出现问题,我粘贴备份目录并覆盖这些文件,我会恢复我的索引吗?顺便说一句,我使用 solr 作为搜索引擎是的...谢谢
  • 是的。那是正确的。但前提是周围的设置保持不变。因此我会备份整个安装文件夹。
  • 小心!请务必在备份数据目录之前停止 solr,否则由于缺少段文件,您可能会留下无法使用的索引。
【解决方案2】:

有关使用 Solr 的 ReplicationHandler 进行热备份的信息,请参阅 my other answer。您只需wget 一个 URL,Solr 就会安全地对您的数据目录进行快照。我不会使用cp 拍摄快照。

【讨论】:

    【解决方案3】:

    如果您担心保持增量状态,可以配置许多 shell 脚本来运行,可以通过 cron 调度,也可以在提交和优化之后运行。

    通过http://wiki.apache.org/solr/SolrOperationsTools了解更多信息

    我要注意的一点是,虽然 Solr 通常可能不用作主要的“记录系统”,而是作为其他数据存储的辅助工具,但没有任何需要!

    在许多用例中,如果您丢失了 Solr 索引,那么您将丢失数据。想想一个在互联网上抓取特定数据的网站。每个爬取结果的唯一副本可能只在 Solr 中,我认为,只要有适当的备份,就可以了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-22
      • 2016-08-10
      • 2012-11-18
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多