У меня есть тестовая среда, которая создается каждое утро, а затем уничтожается каждую ночь. Частью среды является экземпляр SolrCloud (версия 4.7), подключенный к удаленному кластеру Zookeeper.
Экземпляр Solr имеет один осколок и около 8 ядер. Некоторые из основных индексов достаточно большие по размеру (~ 1,2 ГБ), поэтому каждое утро нужно время, чтобы строить индекс с нуля.
Чтобы избежать задержки, я пытаюсь каждый день делать резервную копию индекса, а на следующий день восстанавливать его в новом экземпляре Solr.
Для резервного копирования я просто звоню curl localhost/solr/mycore/replication?command=backup&location=/tmp/backup
Затем я перемещаю файлы резервных копий в какое-то постоянное хранилище.
Это прекрасно работает.
Утром запускается новый экземпляр Solr, в индексе которого ничего нет. Затем я копирую файлы резервной копии индекса в этот новый экземпляр в правильное место и перезапускаю Solr.
Однако после перезапуска Solr не показывает, что количество документов в индексе увеличилось. Если я посмотрю на статистику репликации в веб-консоли solr, я могу увидеть следующее для моей версии mainindex = 0, gen = 1 и size = 1,2 ГБ. Этот атрибут размера, кажется, указывает на то, что он «видит» файлы, которые я восстановил, но не считает их частью индекса.
Zookeeper работает постоянно, поэтому, если я посмотрю на свой облачный граф solr, я могу увидеть экземпляр solr, который был уничтожен накануне, как «Gone». Не знаю, актуально ли это.
Я хотел бы знать, как я могу заставить Solr распознавать по восстановленным файлам резервных копий.