Wednesday, August 22nd, 2007...9:53 pm
Como funciona um motor de busca – parte 1
Vou falar sobre algumas técnicas que motores de busca utilizam (e que provavelmente o Google use também). Inicialmente, o motor de busca precisa descobrir e recolher todos os links da internet. Os algoritmos que fazem isso automaticamente são conhecidos como batedores (em inglês:crawlers). Os batedores a partir de uma página importante (preferencialmente bem mais do que uma), armazenam todos os seus links. Depois todos os links dos links, e assim sucessivamente. Esses links são armazenados em discos rígidos. Como elas são armazenadas é sobre o que falarei.
Como sabemos, são muitos links para armazenar. Para manter essa informação organizada, inicialmente é necessário normalizar os nomes. Normalizar é fazer todos seguirem um mesmo padrão. Por exemplo, você poderia guardar www.grandeabobora.com ou http://grandeabobora.com quando na realidade é o mesmo link (e não queremos redundância no nosso repositório). Logo, em geral, os links são armazenados sem o http:// (que é implícito). Além disso, a porta 80 também é retirada, por isso http://www.stanford.edu:80/ e http://www.stanford.edu será armazenado como www.stanford.edu simplesmente. Enfim, existem várias maneiras de normalizar e cada um escolhe a sua. Depois de normalizados, os links são armazenados em tabelas hash (que é assunto para outra hora), mas caso você desconheça e esteja com preguiça de pesquisar, é uma maneira muito rápida de localizar os dados numa lista.

Uma imagenzinha pra descontrair de tanto texto : P
Os batedores estão constantemente procurando links pela Internet para armazenar. Mas o que acontece quando um link sai do ar e já está armazenado ? Ele vai ficar para sempre aparecendo no buscador ? Nope ! Quando um link é armazenado, com ele vai a data de quando foi guardado. Existem estatísticas que dizem qual o tempo médio de vida de um link. Supomos que seja 2 anos (eu não faço idéia de quanto seja). Logo, quando esses dois anos passam, o link é revisitado para ver se ainda existe. Caso exista, é mantido e a data atualizada, senão, deletado. Na verdade, antes de deleta-lo, é dada mais alguma(s) chance(s) de alguns dias, para o caso de o servidor daquele link simplesmente estar temporariamente fora do ar naquele momento.
Existem muito mais detalhes e idéias no mundo do armazenamento de links, mas as apresentadas são as que conheço e vou ficando por aqui. Na parte 2 (que não sei quando será escrita) falo sobre as fase de indexação e ordenação.
Fontes: http://www9.org/w9cdrom/296/296.html
http://visibilidade.net/tutorial/funcionamento-motor-busca.html
Post Relacionados:
Leave a Reply