2013-07-12 27 views
5

W naszym projekcie sitecore (6.6.0 rev. 130404) mamy ponad 2 miliony wszystkich elementów sitecore. Mamy skonfigurowanych kilka indeksów Lucene (każdy dla podzbioru tych elementów). Problem, przed którym stoimy, to czas, jaki zajmuje odbudowanie tych indeksów. Specjalnie z indeksem QuickSearch Sitecore, może to potrwać prawie cały dzień, aby odbudować ten indeks, oprócz naszych niestandardowych indeksów.Praktyki odbudowy indeksu Sitecore

Jakie są zwyczajowe praktyki z utrzymaniem dużych indeksów sitodopodobnych w codziennych operacjach? Jak często trzeba odbudowywać indeksy? a kiedy to zrobisz, jak poradzić sobie z długim czasem przestoju witryny (przebudowywanie indeksów powoduje, że indeks jest offline)?

Odpowiedz

4

Jeśli masz wiele serwerów, możesz wyjąć jeden z nich z modułu równoważenia obciążenia (lub zatrzymać dostarczanie treści w jakikolwiek inny sposób) i odbudować indeks na tym serwerze. Kiedy to zrobisz, po prostu umieść go z powrotem w równoważniku obciążenia.

Możesz również spróbować użyć Sitecore Lucene Refresher.

Aby zobaczyć więcej opcji, zobacz how to maintain sitecore lucene indexes in huge content delivery webfarm.

+0

Dzięki Maras, zostałeś pomocnej nasz projekt dużo. Nasza strona internetowa nie ma aspektu niezależnego dostarczania treści. Tworzenie i dostarczanie treści są scalane. (Nasi twórcy treści i widzowie są użytkownikami publicznymi). Dlatego nie możemy po prostu "zamrozić" dostarczania treści podczas odbudowy indeksu. Równie dobrze moglibyśmy obniżyć witrynę. Sitecore Lucene Refresher wydaje się być czymś, na co warto spojrzeć. Spróbuję opublikować moją opinię tutaj. Dzięki za wskazówkę! – ravinsp

1

Jednym ze sposobów, w jaki myślę, jest to, że możesz podzielić swoje indeksy na podstawie sekcji/stron/treści na swojej stronie, zależy to od rodzaju danych/struktury, które posiadasz oraz od tego, jak sensowne jest ich rozbijanie. sekcje, więc będziesz mieć od 2 do 20, 40, 40 itd. indeksów, które można skonfigurować za pomocą tagu <root> dla każdego indeksu w konfiguracji ADBC, w ten sposób powinieneś już wiedzieć, w której części witryny zrobiłeś aktualizacje, i możesz wcisnąć odbudowanie tylko w tym indeksie, jeśli jest to potrzebne.

Ogólnie rzecz biorąc, nie ma potrzeby ponownego budowania wszystkich indeksów, o ile wiem/pamiętaj, że publikacja poprawi prawidłowo zaktualizowany indeks, ale nie odtworzy go ponownie. .

Jedyne sytuacjach myślę odbudować całe indeksów, jeśli zainstalowano stronę w nowym środowisku, lub indeksy zostały usunięte z serwera z jakiegoś powodu, lub niektórych podobnych przypadkach ....

1

Jeśli uaktualniasz do Sitecore 7.2 możesz użyć indeksu SwitchOnRebuildLuceneIndex. Zapewnia to działający indeks podczas wykonywania operacji ponownego indeksowania.

<index id="your_index" type="Sitecore.ContentSearch.LuceneProvider.SwitchOnRebuildLuceneIndex, Sitecore.ContentSearch.LuceneProvider"> 
... 
</index> 

Zobacz stanowisko John West szczegóły: http://www.sitecore.net/deutsch/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Rebuild-Lucene-Indexes-in-Temporary-Subdirectories.aspx