Um mecanismo de busca é um programa desenvolvido para ajudar a encontrar informação armazenada em um sistema, por exemplo um computador pessoal, uma rede empresarial ou toda a Internet. Possibilita a procura de um conteúdo através de um critério de busca (uma palavra-chave ou uma frase) e devolve ao usuário a lista de tudo o que está associado a esse critério.
A tarefa dos mecanismos de busca na web não é simples. O roteiro de uma busca na web é o seguinte: navegar por todos os sites existentes (bilhões deles!) e armazenar seu conteúdo. Uma vez que este trabalho esteja concluído, é preciso apresentá-lo ao usuário de forma eficiente. Este é um resumo do processo geral:
· Informação é coletada via crawling e armazenada em um repositório.
· A indexação começa examinando itens no repositório e obtém mais informação sobre eles. Por exemplo, olhando uma web page no repositório e encontrando as palavras nessa página.
· Armazenando a informação por item eficientemente.
· Armazenando os itens por palavra. Para cada palavra, uma lista de itens que contém a palavra são armazenadas.
Entre os desafios enfrentados pelos mecanismos de busca podemos listar:
· A Internet cresce mais rápido do que qualquer tecnologia existente possa indexar.
· As páginas são atualizadas constantemente, obrigando os mecanismos a revisitarem-nas periodicamente.
· As consultas são limitadas atualmente a buscas por palavras-chave, o que pode resultar em falso positivos.
· As páginas geradas dinamicamente podem ser de difícil indexação ou resultar em respostas em excesso. Muitas dessas páginas não são indexáveis pelos mecanismos de busca, por estarem protegidas por password ou precisarem de ter formulários preenchidos.
· Muitos mecanismos de busca mostram resultados baseados principalmente em links patrocinados, e não pela relevância deles.
· Existência de páginas geradas com truques para manipular os resultados de buscas.