Temat mnie interesuje ze względu na rozmiar Wikipedii. Utworzenie niektórych cronów do okresowej aktualizacji map witryn na małej stronie może być łatwe, ale co z dużą? Więc:
Jak Wikipedia generuje swoją mapę witryny?
Temat mnie interesuje ze względu na rozmiar Wikipedii. Utworzenie niektórych cronów do okresowej aktualizacji map witryn na małej stronie może być łatwe, ale co z dużą? Więc:
Jak Wikipedia generuje swoją mapę witryny?
Odpowiedzi:
Jest generowany dynamicznie przez skrypt PHP. W przypadku dużych witryn prawdopodobnie lepiej jest sprawdzić zmiany i wygenerować tylko, jeśli coś się zmieniło - lub wygenerować to tylko co XY minut / godzin / dni. To zależy od infrastruktury.
Potrzebne informacje znajdują się w bazie danych, więc nie jest to takie trudne zadanie.
A oto dowód: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php
Edycja: Ach, a to może być również interesujące w tym temacie:
Jakiś czas temu stanęłem przed zadaniem stworzenia mapy witryny dla naszej witryny. Chociaż nie jest wielkości Wikipedii, wciąż ma około stu tysięcy stron, a około 5% z nich jest codziennie zmienianych, dodawanych lub usuwanych.
Ponieważ umieszczenie wszystkich odniesień do stron w jednym pliku spowodowałoby, że byłby on zbyt duży, musiałem podzielić je na sekcje. Indeks mapy witryny wskazuje na stronę aspx z ciągiem zapytania dla jednej z 17 różnych sekcji. W zależności od ciągu zapytania strona zwraca xml odnoszący się do kilku tysięcy stron, w oparciu o obiekty istniejące w bazie danych.
Mapa strony nie jest więc tworzona okresowo, zamiast tego jest tworzona w locie, gdy ktoś o to poprosi. Ponieważ mamy już system buforowania wyszukiwań w bazie danych, jest on oczywiście używany do pobierania danych również dla mapy witryny.
Chociaż kod generowania mapy witryny znajduje się w głównym narzędziu MediaWiki i na pewno byłaby opcją wybraną do stworzenia mapy witryny, nie widzę żadnych dowodów na to, że Wikipedia włączyła go. Plik robots.txt nie wskazuje żadnych map witryn.
Ponadto, każdy skrypt konserwacyjny uruchamiany w projektach Wikimedia jest kontrolowany przez marionetkę, aw repozytorium marionetek nie ma instancji generateSitemap.php . Na koniec nie ma też mapy strony na zrzutach dla żadnej wiki Wikimedia , podczas gdy istnieją „ streszczenia dla Yahoo ”.
W każdym razie Wikipedia uruchamia bufory Squid przed swoimi serwerami aplikacji. Mogą kontrolować częstotliwość aktualizacji mapy witryny, dostosowując czas wygaśnięcia strony.
Co więcej, to, co Wikipedia robi w celu indeksowania, nie jest dobrym modelem dla twojej wiki, ponieważ Google ma specjalne kontakty / oferty / obsługę Wikipedii, zobacz najnowszy przykład .
Nie jestem pewien, ale myślę, że używają rozszerzenia Google Sitemap dla MediaWiki. Obsługuje to strona Wikipedia w mapach witryn .