Как сделать дамп / резервную копию индекса Solr в файл? - PullRequest
13 голосов
/ 28 августа 2010

Я использую виртуальный частный сервер, на котором каждый день в полночь все файлы автоматически резервируются провайдером VPS.

Так что мне нужно экспортировать индекс Solr в файл, так что если когда-нибудь что-то пойдет не так, я смогу импортировать его обратно в Solr.

Как я могу это сделать?

Ответы [ 3 ]

11 голосов
/ 28 августа 2010

База данных 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

ОДНАКО: достаточно сохранить эту папку.вы также можете просто сделать резервную копию всего вашего solr isntallation с помощью инкрементного rsync или чего-то еще ... после повторного запуска нужно будет заполнять только кэши заново и т. д.

НО: я надеюсь, что solr не ваша основная база данных?Он предназначен для поисковой системы, а не для замены базы данных и даже не для резервного копирования!точно так же, как репликации mysql хорошо выполнять распределение нагрузки, но бесполезны в качестве резервной копии ... почему?потому что с тем же запросом вы можете получить пустой индекс.точно так же с solr / lucene.... или по многим, многим другим причинам, о которых уже говорили более блестящие люди.

помня об этом, я желаю вам хорошего дня!

3 голосов
/ 10 января 2013

Пожалуйста, смотрите мой другой ответ о создании горячих резервных копий с использованием Solr ReplicationHandler.Вы можете просто wget URL-адрес, и Solr безопасно сделает снимок вашего каталога данных.Я бы не сделал снимок, используя cp.

1 голос
/ 30 августа 2010

Если вы заинтересованы в сохранении инкрементных состояний, существует ряд сценариев оболочки, которые можно настроить для запуска, либо запланированных через cron, либо после фиксации и оптимизации.

Узнайте больше на http://wiki.apache.org/solr/SolrOperationsTools

Одна вещь, которую я хотел бы отметить, заключается в том, что хотя Solr, вероятно, обычно не используется в качестве основной "Системы записи", но в качестве вспомогательной для некоторых других данныхМагазин, нет ничего, что требует этого!

Существует много случаев, когда вы потеряете свои индексы Solr, тогда вы потеряете свои данные.Подумайте, сайт, который сканирует Интернет для конкретных данных.Единственная копия каждого результата сканирования может быть только в Solr, и я думаю, что с соответствующими резервными копиями это нормально!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...