Caféine : l'indexeur de Google
Publié: 2017-03-24
Les mises à jour des moteurs de recherche Google sont souvent des événements mystérieux, mais parfois je tombe sur des informations dans les brevets Google qui donnent un aperçu du fonctionnement de quelque chose. Une mise à jour de Google qui visait à rendre Google beaucoup plus rapide qu'elle ne l'avait été était la mise à jour Caffeine, qui a été officiellement annoncée par Google en 2010 avec cet article : Notre nouvel index de recherche : Caffeine.
Si vous modifiez le contenu d'une page Web, combien de temps faut-il pour que ces modifications soient intégrées à l'index de Google ? Si vous publiez une nouvelle page ou un nouvel article de blog, quand cela fait-il partie de l'index de Google en tant que quelque chose qui peut être interrogé ? Il fallait un certain temps avant que le contenu ajouté sur le Web ne devienne quelque chose de consultable. Google mettrait à jour son index, et beaucoup de données qui avaient été ajoutées sur le Web deviendraient interrogeables dans un mouvement que beaucoup de gens appelaient Google Dance. Ensuite, Google a proposé une approche qui impliquait des changements plus rapides dans les résultats de recherche, et l'ancien responsable du spam Web de Google, Matt Cutts, y a fait référence dans cette vidéo où il a décrit le « Flux » qui se produisait dans les résultats de recherche Google :
Google a publié des mises à jour destinées à accélérer l'indexation du contenu sur le Web. L'une de ces mises à jour a été appelée la mise à jour Big Daddy. Un autre qui a eu lieu en 2009 a été appelé la mise à jour de la caféine. Un look légèrement différent est disponible dans cet article de journal : Google Caffeine : What it is really
Récemment, je suis tombé sur un brevet qui montre comment Google pourrait rendre son index de recherche beaucoup plus rapide et j'ai décidé de le partager après avoir vu la mise à jour de Google Caffeine blâmée pour de nombreux changements dans la façon dont le contenu sur le Web a été indexé au fil des ans - partage de ce brevet pourrait donner aux gens un peu plus de compréhension de la façon dont Google peut indexer des pages sur le Web. Trois brevets connexes ont été déposés le même jour. Ils offrent un aperçu intéressant de la façon dont la caféine peut fonctionner. Ce qu'ils font, c'est simplement ceci :
Les modes de réalisation divulgués concernent généralement des systèmes et des procédés de traitement de données, et en particulier un référentiel de documents qui prend en charge de faibles latences à partir du moment où un document est mis à jour jusqu'au moment où le document est disponible pour les requêtes, et qui nécessite peu de synchronisation entre les fils de requête et les fils de mise à jour du référentiel. .
Donc, si vous vous demandez combien de temps cela prend entre le moment où vous publiez quelque chose sur le Web et le moment où il est ajouté à l'index de Google, cela dépend de la synchronisation décrite dans ces brevets.
Google recherche ce que l'on appelle un index inversé, qui contient tous les mots de chaque document qu'il indexe sur le Web, ainsi que des pointeurs pour l'emplacement de ces mots. Le brevet souligne ce qu'il appelle des « obstacles » pour fournir de nouveaux résultats. Ceux-ci inclus:
(1) les dépenses ou les frais généraux associés à la reconstruction de l'index de documents chaque fois que le référentiel de documents est mis à jour. Par exemple, une surcharge importante est souvent associée à la création de petits index à partir de documents nouveaux et mis à jour et à la fusion périodique des petits index avec l'index principal, et ces systèmes souffrent généralement de longues latences entre les mises à jour des documents et la disponibilité de ces documents dans l'index du référentiel.
(2) la difficulté de traiter en continu les requêtes sur le référentiel de documents tout en mettant à jour le référentiel, sans encourir de frais généraux importants. Un aspect de ce deuxième obstacle est la nécessité de synchroniser à la fois les threads qui exécutent les requêtes et les threads qui mettent à jour le référentiel de documents avec les structures de données clés dans le référentiel de données. La nécessité de synchroniser les fils de requête et les fils de mise à jour du référentiel peut présenter un obstacle important au fonctionnement efficace du référentiel de documents si les mises à jour de documents sont effectuées fréquemment, ce qui à son tour constitue un obstacle au maintien de la fraîcheur du référentiel de documents.
Pour accéder au brevet et lire le tout, voici un lien vers celui-ci :
Système de tapis roulant de documents et procédé de mise à jour de documents dans un référentiel de documents et de récupération d'espace de stockage à partir de documents invalidés
Inventeurs : Michael Burrows et Jeffrey A. Dean
Cessionnaire : Google Inc.
Brevet américain 7,617,226
Accordé : 10 novembre 2009
Déposé : 10 février 2006
Résumé
Un référentiel d'espace de jetons stocke les documents sous la forme d'une séquence de jetons. Le référentiel tokenspace, ainsi que l'index inversé pour le référentiel tokenspace, utilise une structure de données qui a une première extrémité et une seconde extrémité et permet des insertions à la seconde extrémité et des suppressions à partir du front-end. Un document dans le référentiel de l'espace de jetons est mis à jour en insérant la version mise à jour dans le référentiel à la seconde extrémité et en invalidant la version antérieure. Les documents invalidés ne sont pas supprimés immédiatement ; ils sont identifiés dans une liste de récupération de place pour une récupération de place ultérieure. Le référentiel d'espaces de jetons est mis en mouvement pour déplacer les documents invalidés vers le front-end, auquel cas ils peuvent être supprimés et leur espace de stockage récupéré.
Tapis de course
Lorsque j'ai lu ce brevet, l'un des mots qui a attiré mon attention était « tapis roulant », qui était utilisé pour décrire comment les données étaient traitées dans l'index de Google :
Étant donné que la suppression ne peut être effectuée que sur les données en amont, les données des cellules sont périodiquement "traînées". C'est-à-dire que les données valides du front-end sont copiées vers le back-end et les données valides d'origine du front-end sont supprimées. Au fur et à mesure que les données valides du front-end sont déplacées vers le back-end, les données dans les cellules entre le front-end et le back-end sont logiquement déplacées vers le front-end, où elles peuvent être supprimées si nécessaire. Ainsi, le tapis roulant aide à récupérer l'espace mémoire occupé par des données (parfois appelées données obsolètes) qui ne sont plus valides. Des informations supplémentaires concernant le tapis roulant sont décrites ci-dessous, en relation avec les Fig. 13-15.
Le reste du brevet fournit plus de détails sur le fonctionnement de ce système d'indexation, et après l'avoir lu, je me suis demandé s'il parlait de la caféine et si la caféine était toujours utilisée par Google. Au cours des derniers jours, le porte-parole de Google, Gary Illyes, a publié quelques tweets énigmatiques faisant référence à l'indexeur de Google Caffeine d'une manière qui semblait indiquer qu'il était toujours important et toujours utilisé par Google :


