Como funciona um motor de busca ?

Setembro 2017

Os motores de busca são indispensáveis na internet.
O site mais conhecido da internet é, provavelmente, um motor de busca: o Google.
Mas como é que funciona?

Existem (geralmente) várias etapas:
  • a coleta
  • o armazenamento
  • a extração
  • a indexação
  • a classificação
  • a pesquisa em si

(Note que alguns motores de busca podem ter etapas específicas a mais ou a menos. Aqui, só apresento o caso geral).

A coleta


Todos os motores de busca teem softwares que percorrem, de forma contínua, todos os sites do planeta.

Estes softwares se comportam como um simples usuário: eles baixam páginas HTML e seguem os links de hipertextos que elas conteem (como quando você clica em um link em uma página).

A única diferença em relação a você é:
  • Eles não carregam imagens ou vídeos que estão presentes nas páginas (os robôs só se interessam pelas páginas HTML)
  • Eles percorrem todos os links que encontram em um site.


Chamamos esses softwares de "robôs".

O Google, o MSN e outros motores de busca teem, cada um, os seus robôs.
(Na prática, eles são simples computadores conectados à Internet e equipados com um software especial).

Como esses robôs são muito rápidos, pode acontecer que eles "desmoronem" um site, fazendo muitas solicitações ou procurando páginas que não são relevantes.

Existe uma maneira de regulá-los, colocando um arquivo especial (robot-rules) em cada site. O arquivo robots.txt (colocado na raiz do site) contém regras que indicam aos robôs o que eles podem, ou não, recuperar.

A maioria dos robôs (Google, Yahoo, MSN, etc) respeita estas regras.
Isso permite que você, por exemplo, proiba o Google de indexar uma parte do seu site.

O armazenamento


Os robôs recuperam páginas e as armazenam no disco. Em centenas de discos rígidos.
Em geral, eles também armazenam a data da última visita do site, para visitar a página de novo, após algum tempo.
(Alguns robôs visitam sites com mais frequência do que outros).

A extração


Uma vez que a página html foi recuperada, um programa extrai todo o seu conteúdo.

O que interessa os robôs é:
  • todo o texto da página.
  • as meta-informações (autor da página, palavras-chave, URL da página...)
  • os links para outras páginas (links de hipertexto)

E os robôs ignoram o resto:
  • o layout gráfico (cores, fontes de caracteres, tamanho, localização...) é ignorado.
  • geralmente, as imagens, vídeos, sons e música são ignorados.

Portanto, há uma grande diferença entre o que você vê em uma página, e o que os robôs veem.

Por exemplo, os robôs não poderão ler isto:


Porque para eles isto é uma imagem. Assim sendo, eles serão incapazes de ler o conteúdo e indexá-lo.
Consequência: Esta imagem será totalmente ignorada pelos robôs.

A indexação


Agora que recuperamos o texto de todas essas páginas, vamos criar meios eficazs para pesquisar.
Vamos executar a indexação das páginas.

Existem diferentes métodos de indexação. Veja um bem simples:

Consideremos o seguinte texto:
1. Madame sonha com atomizadores
2. E os cilindros são tão longos
3. Eles são os únicos
4. Que a enchem de felicidade
5. Madame sonha com artifícios
6. E formas oblongas
7. E totems que a punem
(Eu numerei as linhas de propósito).

Para cada palavra encontrada, vamos anotar a que linha ela pertence.

PalavraAparece nas linhas
Madame1 e 5
sonha1 e 5
atomizadores1
felicidade4
......


Assim, se eu tiver que encontrar a palavra "sonha", eu sei imediatamente que ela se encontra nas linhas 1 e 5.

Da mesma forma, para cada palavra encontrada, os motores de busca vão ver em que páginas (que URLs), estas palavras aparecem. Com iso, eles poderão te dar, imediatamente, a lista das páginas com determinada palavra.

PalavraURL onde essa palavra aparece
comprendrewww.comprendrelabourse.com, www.comprendre.org, www.lirepourcomprendre.org, sebsauvage.net/comprendre/...
ordinateurwww.01net.com, www.dicofr.com/cgi-bin/n.pl/ dicofr/definition/20010101003926, fr.wikipedia.org/wiki/Ordinateur, www.commentcamarche.net/pc/pc.php3...


No entanto, em muitos idiomas certas palavras são muito comuns (o, a, os, as, de, etc). Por exemplo, procurar o "o" em uma página seria irrelevante.
Isso se chama "stop-words".

Esses "stop-words" são automaticamente eliminados e, consequentemente, não são indexados.

Note-se que existem muitos outros métodos de indexação.

A classificação


Bom, nós indexamos as páginas.
Agora temos um pequeno problema: tem muita página!

Por exemplo, a palavra "computador" retorna mais de 5 milhões de páginas para o Google.
Tal motor de busca seria perfeitamente inútil: O infeliz do usuário ainda teria que percorrer esses 5 milhões de páginas para encontrar o mais relevante.

Portanto, é indispensvel classificar essas páginas por relevância, ou seja, colocar em primeiro lugar as páginas com mais probabilidade de dar a resposta correta para a palavra solicitada.

Isso não é tarefa fácil!

Existem vários métodos diferentes.

Veja dois:

A classificação semântica


O motor de busca vai tentar adivinhar o campo semântico de uma página classificá-la:
Se uma página contém a palavra "temperatura", mas também "maçã", "fogão", "massa", é bem provável que a página fale de pastelaria.
Se uma página contém a palavra "temperatura", mas também "lua", "telescópio", "apogeu", é bem provável que a página fale de astronomia.

Isto permite classificar as páginas e retornar ao usuário as mais prováveis de serem relevantes.
Por exemplo, se um usuário procurar por "Temperatura do planeta":
"Temperatura", por si só, é ambíguo mas "planeta" pertence ao campo semântico da astronomia. O motor de busca retornará, com prioridade, as páginas que estiverem classificadas na categoria "astronomia".

Porém, se ele procurar apenas "temperatura", o motor de busca não terá como adivinhar o que o usuário realmente quer: ele retornará inúmeras páginas com a palavra temperatura.

É por isso que, às vezes, você tem a impressão que os motores de busca te retornam muitos resultados sem nenhum interesse.

Para obter resultados mais precisos, adicione palavras à sua consulta. ("temperatura do bolo", "temperatura do fogão", "temperatura da cozinha", etc ...).

Quanto mais palavras você adicionar à sua pesquisa, mais a pesquisa será precisa e menos páginas serão retornadas.

Durante a pesquisa, pode ser útil, usar sinônimos ou palavras que pertençam ao mesmo campo semântico, para obter outros resultados.

A classificação por links


A priori, quanto mais links para uma página, mais esta página deve se referir a um domínio.
Lógico, não?
É o que faz (entre outros) o Google para classificar as páginas:
Quanto mais links para uma página, mais esta página "subirá" nos resultados do Google.
(Exemplo: Muitas pessoas fizeram links para o meu site. Assim sendo, sebsauvage.net aparece na 4 ª posição no Google quando procuramos a palavra "Comprendre").
Em teoria, é genial e os resultados são muito relevantes!

Mas na prática ... veremos mais adiante.

Existem muitos outros métodos para calcular a relevância das páginas mas, estes são segredos bem guardados dos diversos motores de busca.
Os motores de busca se disputam muito mais pela clasificação de relevância das páginas do que pelo número páginas indexadas.
O Google conseguiu se sair bem tanto em relação ao número de páginas indexadas quanto à relevância de páginas retornadas (mesmo se isso não parece granformidável à primeira vista).

A pesquisa


O motor de busca vai te apresentar um formulário (mais ou menos evoluído) que te ajudará a encontrar o que quer.

Eles teem, como opção, critérios de pesquisa adicionais para ajudá-lo a encontrar, com mais precisão, o que você quer.

Então, estes critérios de pesquisa são enviados para o motor de busca que vai analisá-lo, a seu pedido, remover os "stop-words", selecionar as páginas que atendam a seus critérios (graças aos índices), classificá-las e, em seguida, apresentar os resultados.

A forma tradicional de apresentar os resultados é a do Google, mas existem outros.
O kartoo.com tenta apresentar as páginas relacionadas (mais ou menos próximas) com palavras-chave.
O Exalead mostra uma cópia da tela do site.
etc.

Alguns motores de busca também tentam detectar os erros de digitação, oferecendo páginas com palavras muito semelhantes, ou sugerindo uma ortografia alternativa para a sua palavra.
Alguns, como o Kartoo, propõem outras palavras ou termos que estão presentes nas páginas de resultados.

As características


Alguns motores de busca oferecem recursos adicionais.

Às vezes, os motores de busca também indexam outras coisas de índice além da web.
Por exemplo, o Google pode indexar arquivos PDF, Word (.doc) ou PowerPoint (.ppt/.pps). Isso permite ampliar as buscas além das páginas html.

Outro exemplo: O Google Scholar, por exemplo, indexa os documentos universitários (relatórios, teses,...).
Eles também podem se alimentar em outras fontes (agência de jornalismo, agências científicas, grandes bibliotecas e várias empresas).
Alguns motores também oferecem buscas especializadas (automaticamente limitadas a um domínio).
Por exemplo, o Google tem um motor que especializado em tudo o que é Linux (http://www.google.com/linux), Microsoft, Apple...
Isso permite obter resultados de pesquisas que não sejam parasitados por páginas inúteis.
Outro exemplo é o motor de busca koders.com que pode pesquisar exclusivamente em código de softwares OpenSource.

Alguns motores são especializadas em determinados tipos de arquivos.
Por exemplo, o findsounds.com é especializado em busca de sons.
Alguns motores também tem a possibilidade de usar palavras-chave.
Por exemplo, o Google tem palavras-chave para restringir a busca a um site, encontrar todas as páginas que teem um link para um determinado site, etc.

As desvantagens


Idealmente, temos tudo para obter bons resultados e páginas que nos interessem.
Na prática ... este não é bem o caso.

Poluição


Alguns parasitas estragam completamente os resultados e trapaceiam, para aparecer no topo da lista nos resultados de busca.

Por quê?
Simplesmente para ganhar dinheiro (através dos banners de publicidade).

Existem diferentes métodos de poluição:
  • Criar toneladas de páginas que não conteem nada além das toneladas de links para outras páginas, cheias de links também... (Muitos links para suas próprias páginas = melhor ranking).
  • Colocar toneladas de palavras-chave em todas as páginas.
  • Roubar o conteúdo dos sites populares e mostrá-los para os robôs dos motores de busca (como as páginas roubadas já são populares, isto as fez subir).
  • Mexer nos seus DNS para incluir as palavras do dicionário (muitos motores de busca dão prioridade a sites cujo endereço contém a palavra de procurada).
  • Poluir fóruns, blogs ou wikis postando mensagens com centenas de links.
  • etc.

São pragas que estão aí só para ganhar dinheiro.

Publicidade


Em alguns motores de busca, a publicidade é invasiva.

Objetividade


Alguns motores de busca tendem a dar prioridade às páginas de seus parceiros comerciais nos resultados, ou são afetados por uma amnésia repentina da existência das páginas concorrentes.
Ainda se censuram muitas páginas, às vezes, a mando de um governo (como o caso do Google e do MSN na China, por exemplo).
Já que os interesses financeiros são enormes, podemos questionar legitimamente a objetividade dos motores de busca.

O Google entendeu isso e o seu lema é "<itak>Do no evil</ital>". Mas isso não significa que devemos confiar cegamente.

Confidencialidade


Os motores de busca seguem os links dos sites, todos os links.
Se, por acaso, um webmaster esqueceu de colocar uma senha em uma parcela do seu site, todos os seus arquivos privados ficarão indexados pelos motores de busca.
O melhor exemplo é o Google Dorks ("dorks" significa "idiota", com referência aos webmasters bobos o suficiente para deixarem arquivos privados na web).

Alguns criticaram o Google por isso, apesar dessas informações serem pública . É que os webmasters em questão foram tolos o suficiente para deixar arquivos privados em acesso aberto, sem senha e sem "robot-rules".

Porque o Google é tão popular?


Podemos encontrar várias explicações. Veja a minha:
  • A interface é simples: O Google não se rendeu à síndrome de "árvore de Natal" como alguns sites (exemplo típico da síndrome de "árvore de Natal": CDiscount). Aliás, a prova é que quase todos os outros motores de busca voltaram para uma interface sóbria.
  • O Google indexa muitas páginas: Presume-se que seja o Google que indexa mais páginas (mas não há como ter certeza). Assim, é mais provável encontrar o que você está procurando no Google. Sem mencionar que o Google é (ao meu conhecimento) o único motor de busca que indexa arquivos pdf/ps/word/ppt ...


No entanto, pode ser fastidioso fazer uma triagem neste grande número de páginas.
  • Os resultados são relevantes: Sim, sim, eu garanto, mesmo sem parecer, os resultados são mais relevantes do que a maioria dos outros motores de busca. O Google tem trabalhado duro para isso.
  • O Google é flexível : é um dos poucos motores de busca que permitem a pesquisa em um único domínio, ou a busca de links apontando para uma determinada página.
  • A publicidade no Google não é invasiva : Sem grandes faixas piscando, tão coloridas, que chegam a te dar cãibra na pálpebra: Os anúncios do Google são discretos e não interferem muito nos resultados. Como bônus, a publicidade é muitas vezes mais relevante do que nos outros motores (qual é o interesse de ter uma green card para trabalhar nos EUA quando estou procurando informações sobre o API Java???).


Artigo original publicado por sebsauvage

Tradução feita por Lucia Maurity y Nouira

Veja também

Publicado por pintuda. Última modificação: 2 de maio de 2012 às 13:08 por pintuda.
Este documento, intitulado 'Como funciona um motor de busca ?', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.