Comment Wikipedia génère-t-il son plan du site?

9

Le sujet m'intéresse en raison de la taille de Wikipédia. Il peut être facile de créer des crons pour mettre à jour périodiquement les sitemaps dans un petit site, mais qu'en est-il d'un grand? Donc:

Comment Wikipedia génère-t-il son plan du site?


la source

Réponses:

9

Il est généré dynamiquement par un script PHP. Pour les grands sites, il est probablement préférable de vérifier les modifications et de générer uniquement si quelque chose a changé - ou de le générer uniquement toutes les XY minutes / heures / jours. Cela dépend de l'infrastructure.

Les informations nécessaires sont toutes dans la base de données, donc ce n'est pas une tâche si difficile.

Et voici la preuve: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php

Edit: Ah et cela pourrait aussi être intéressant pour ce sujet:

Gregor
la source
Pourriez-vous utiliser le code PHP pour générer le plan du site pour tous les grands sites? Voulez-vous dire par le mot «dynamiquement» que le plan du site est généré quelque peu automatiquement et apporte de légères modifications au code en cas de besoin?
Pouvez-vous clarifier la phrase "Les informations nécessaires sont toutes dans la base de données, donc ce n'est pas une tâche si difficile."? Où puis-je voir la base de données?
Je pense qu'il veut dire que toutes les informations sont dans la base de données mediawiki sous-jacente. À moins que vous ne soyez l'un des administrateurs système ou des administrateurs de bases de données de Wikipédia, vous ne pourrez probablement pas accéder directement à leur base de données.
Cian
3
Je pense également que l'OP essaie de déterminer comment générer un plan de site sur un `` grand '' site, dans le cas de Wikipedia, il est très basé sur RDBMS (MySQL) avec toutes les pages étant servies hors de la base de données. Par conséquent, votre base de données connaît toutes les pages et vous avez besoin d'un script PHP simple (lié ci-dessus à partir de Subversion) pour le faire. Dans le cas d'autres sites, pilotés par différentes technologies, vous constaterez que l'approche nécessaire est différente. La dernière fois que j'ai vérifié que Wikipedia avait publié leurs bases de données à télécharger, ou du moins, ils ont publié leur contenu dans un fichier .SQL.
nixgeek
1
Voici le [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/…
Gregor
1

J'ai été confronté à la tâche de créer un plan du site pour notre site Web il y a quelque temps. Bien que ce ne soit pas la taille de Wikipédia, il s'agit toujours d'une centaine de milliers de pages, et environ 5% d'entre elles sont modifiées, ajoutées ou supprimées quotidiennement.

Comme mettre toutes les références de page dans un seul fichier le rendrait trop volumineux, j'ai dû les diviser en sections. L'index du plan du site pointe vers une page aspx avec une chaîne de requête pour l'une des 17 sections différentes. Selon la chaîne de requête, la page renvoie un fichier XML référençant plusieurs milliers de pages, en fonction des objets qui existent dans la base de données.

Ainsi, le plan du site n'est pas créé périodiquement, il est plutôt créé à la volée lorsque quelqu'un le demande. Comme nous avons déjà un système de mise en cache des recherches dans les bases de données, celui-ci est bien sûr utilisé pour récupérer les données du plan du site également.

Guffa
la source
Pourquoi le downvote? Si vous n'expliquez pas ce que vous pensez être faux, cela ne peut pas améliorer la réponse.
Guffa
1

Bien que le code de génération de sitemap est maître de base MediaWiki et serait certainement l'option choisie pour produire un plan du site, je ne vois aucune preuve que Wikipedia est réellement activée. Le fichier robots.txt ne pointe vers aucune carte de site.

De plus, tout script de maintenance exécuté sur des projets Wikimedia est contrôlé par marionnette et il n'y a aucune instance de generateSitemap.php dans le référentiel de marionnettes . Enfin, il n'y a pas non plus de plan du site dans les décharges pour aucun wiki Wikimedia , alors qu'il y a des " résumés pour Yahoo ".

Dans tous les cas, Wikipedia exécute des caches Squid devant leurs serveurs d'applications. Ils peuvent contrôler la fréquence de mise à jour de leur sitemap en ajustant l'heure d'expiration de la page.

De plus, tout ce que Wikipedia fait pour l'indexation n'est pas un bon modèle pour votre wiki, car Google a des contacts / offres / gestion spéciaux de Wikipedia, voir un exemple récent .

brianegge
la source
+1 observation intelligente
1
Il n'y a aucune raison réelle de s'attendre à ce que robots.txt fasse référence à un plan du site, donc l'absence d'une telle référence ne prouve vraiment rien.
John Gardeniers
0

Je ne suis pas positif, mais je pense qu'ils utilisent l' extension Google Sitemap pour MediaWiki. Ceci est soutenu par la page Wikipedia sur les plans de site .

Keith
la source