Kopia bezpieczeństwa indeksu

Czy zastanawialiście się kiedyś jak wykonać kopię bezpieczeństwa indeksu w Solr korzystając z dostępnych narzędzi ? Na przykład tak, aby po każdej operacji commit lub optimize otrzymywać kopię bezpieczeństwa ? A może chcielibyście wykonywać kopię własnoręcznie z wykorzystaniem wywołać API HTTP oferowanego przez Solr. Zobaczmy zatem jakie mamy możliwości.

Na początek

Zdecydowaliśmy się opisać te zagadnienie pomimo tego, iż jest bardzo proste. Zauważyliśmy jednak, iż dużo ludzi zapomina o oczywistych funkcjonalnościach, nie tylko w przypadku Apache Solr. Mamy nadzieję, że ten wpis przypomni użytkownikom o tej funkcjonalności, przynajmniej tym, którzy będą jej potrzebować. Zacznijmy od stanu początkowego – zawartość katalogu, w której znajduje się indeks, przed rozpoczęciem testów wyglądała następująco:

Ręczna Kopia Bezpieczeństwa

Aby wykonać ręczną kopię bezpieczeństwa indeksu, przy pomocy wywołania API HTTP, należy mieć skonfigurowany handler odpowiadający za replikację. Jeżeli handler ten jest obecny, wysyłamy do niego (na serwerze master) parametr command z wartością backup, na przykład:

Spowoduje to utworzenie kopii bezpieczeństwa naszego indeksu. Tak wygląda katalog w którym znajduje się indeks po wykonaniu powyższego polecenia:

Jak widać kopia zapasowa indeksu została utworzona w katalogu snapshot.20120812201917.

Automatyczna Kopia Bezpieczeństwa

Oprócz ręcznego tworzenia kopii bezpieczeństwa mamy także możliwość wykonania kopii indeksu po każdej operacji commit, bądź optimize. Jeżeli twój indeks zmienia się bardzo często sugerujemy nie korzystania z tej funkcjonalności, ewentualnie skorzystania z tworzenia kopii bezpieczeństwa po otrzymaniu komendy optimize.

Na początek, dodajemy następujący wpis do konfiguracji handler’a replikacji:

Zatem pełna konfiguracja serwera master mogłaby wyglądać następująco:

Po wysłaniu dwóch poleceń commit katalog z indeksem wyglądał następująco:

Tutaj także można zobaczyć, że Solr wykonał to co chcieliśmy, czyli stworzył dwa katalogi z kopią indeksu.

Utrzymywanie porządku

Możliwa jest kontrola tego, jak dużo kopii bezpieczeństwa naszego indeksu będziemy przechowywać. W celu określenia tej ilości należy dodać następujący wpis do konfiguracji handler’a replikacji:

Powyższy wpis mówi Solr, aby nie przechowywał więcej, niż 10 kopi bezpieczeństwa. Oczywiście możliwe jest także ręczne usuwanie stworzonych przez Solr kopii, jeżeli nie są już nam potrzebne.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.