Я работаю на Виртуальном частном сервере, где каждый день в полночь все файлы автоматически резервируются провайдером VPS.
Так что мне нужно экспортировать индекс Solr в файл, так что, если когда-нибудь что-то пойдет не так, я смогу импортировать его обратно в Solr.
Как мне это сделать?
База данных 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, используя инкрементную rsync или что-то еще... после повторного запуска нужно будет заново заполнить только кэши и т. д.
НО: надеюсь, solr не является вашей основной базой данных? это должно быть поисковой системой, а не заменой базы данных и даже не резервной копией! точно так же, как репликации mysql хороши для балансировки нагрузки, но бесполезны в качестве резервной копии... Зачем? потому что с тем же запросом вы можете получить пустой индекс. точно так же с solr/lucene. ... или по многим, многим другим причинам, о которых уже говорили гораздо более блестящие люди.
Имея это в виду, желаю тебе хорошего дня!
Если вы беспокоитесь о сохранении добавочных состояний, существует ряд сценариев оболочки, которые можно настроить для запуска либо по расписанию через cron, либо после фиксации и оптимизации.
Узнайте больше на http://wiki.apache.org/solr/SolrOperationsTools
Я хотел бы отметить, что, хотя Solr, вероятно, обычно не используется в качестве основной «Системы записи», но в качестве вспомогательного для какого-либо другого хранилища данных, нет ничего, что требовало бы этого!
Во многих случаях, когда вы теряете индексы Solr, вы теряете и свои данные. Подумайте о сайте, который сканирует Интернет в поисках определенных данных. Единственная копия каждого результата сканирования может быть только в Solr, и я думаю, что с соответствующими резервными копиями это нормально!