# Motor de busca

Motor de pesquisa ou ferramenta de busca ou buscador (eminglês:search engine) é um programa desenhado para procurar palavras-chave fornecidas pelo utilizador em documentos e bases de dados. No contexto da internet, um motor de pesquisa permite procurar palavras-chave em documentos alojados na world wide web, como aqueles que se encontram armazenados em websites.
Os motores de busca surgiram logo após o aparecimento da Internet, com a intenção de prestar um serviço extremamente importante: a busca de qualquer informação na rede, apresentando os resultados de uma forma organizada, e também com a proposta de fazer isto de uma maneira rápida e eficiente. A partir deste preceito básico, diversas empresas se desenvolveram, chegando algumas a valer milhões de dólares. Entre as maiores empresas encontram-se o Google, o Yahoo!, o Bing, o Lycos, o Cadê e, mais recentemente, a Amazon.com com o seu mecanismo de busca A9 porém inativo. Os buscadores se mostraram imprescindíveis para o fluxo de acesso e a conquista novos visitantes.
Antes do advento da Web, havia sistemas para outros protocolos ou usos, como o Archie para sites FTP anônimos e o Veronica para o Gopher (protocolo de redes de computadores que foi desenhado para indexar repositórios de documentos na Internet, baseado-se em menus).

## Conceito

Um motor de busca é feito para auxiliar a procura de informações armazenadas na rede mundial (WWW), dentro de uma rede corporativa ou de um computador pessoal. Ele permite que uma pessoa solicite conteúdo de acordo com um critério específico (tipicamente contendo uma dada palavra ou frase) e responde com uma lista de referências que combinam com tal critério, ou seja é uma espécie de catálogo mágico. Ao se realizar uma consulta, a lista de ocorrências de assuntos é criada previamente por meio de um conjunto de softwares de computadores, conhecidos como Web crawler, que vasculham toda a Web em busca de ocorrências de um determinado assunto em uma página. Ao encontrar uma página com muitos links, os spiders embrenham-se por eles, conseguindo, inclusive, vasculhar os diretórios internos - aqueles que tenham permissão de leitura para usuários - dos sites nos quais estão trabalhando.
Os motores de busca usam regularmente índices atualizados para funcionar de forma rápida e eficiente. Sem maior especificação, ele normalmente refere-se ao serviço de busca Web, que procura informações na rede pública da Internet. Outros tipos incluem motores de busca para empresas (Intranets), motores de busca pessoais e motores de busca móveis. De qualquer forma, enquanto diferente seleção e relevância podem aplicar-se em diferentes ambientes, o utilizador provavelmente perceberá uma pequena diferença entre as operações neles. Alguns motores também extraem dados disponíveis em grupos de notícias, grandes bancos de dados ou diretórios abertos como a DMOZ.org (Open Directory Project). Ao contrário dos diretórios Web, que são mantidos por editores humanos, os serviços de busca funcionam algoritmicamente. A maioria dos sites que chamam os motores de busca são, na verdade, uma "interface" (front end) para os sistemas de busca de outras empresas.

## História

Os primeiros motores de busca (como o Yahoo) baseavam-se na indexação de páginas através da sua categorização. Posteriormente surgiram as meta-buscas. A mais recente geração de motores de busca (como a do Google) utiliza tecnologias diversas, como a procura por palavras-chave diretamente nas páginas e o uso de referências externas espalhadas pela web, permitindo até a tradução direta de páginas (embora de forma básica ou errada) para a língua do utilizador. O Google, além de fazer a busca pela Internet, oferece também o recurso de se efetuar a busca somente dentro de um site específico. É essa a ferramenta usada na comunidade Wiki.
Os motores de busca são buscadores que baseiam sua coleta de páginas em um robô que varre a Internet à procura de páginas novas para introduzir em sua base de dados automaticamente. Motores de busca típicos são Google, Yahoo e Bing.
A primeira ferramenta utilizada para busca na Internet foi o Archie (da palavra em Inglês, "archive" sem a letra "v"). Foi criado em 1990 por Alan Emtage, um estudante da McGill University em Montreal. O programa baixava as listas de diretório de todos os arquivos localizados em sites públicos de FTP (File Transfer Protocol) anônimos, criando uma base de dados que permitia busca por nome de arquivos.
Enquanto o Archie indexava arquivos de computador, o Gopher indexava documentos de texto. Ele foi criado em 1991, por Mark McCahill da Universidade de Minessota, cujo nome veio do mascote da escola. Devido ao fato de serem arquivos de texto, a maior parte dos sites Gopher tornaram-se websites após a criação da World Wide Web.
Dois outros programas, Veronica e Jughead, buscavam os arquivos armazenados nos sistemas de índice do Gopher. Veronica (Very Easy Rodent-Oriented Net-wide Index to Computerized Archives) provia uma busca por palavras para a maioria dos títulos de menu em todas as listas do Gopher. Jughead (Jonzy's Universal Gopher Hierarchy Excavation And Display) era uma ferramenta para obter informações de menu de vários servidores Gopher.
O primeiro search engine Web foi o Wandex, um índice atualmente extinto feito pela World Wide Web Wanderer, um web crawler (programa automatizado que acessa e percorre os sites seguindo os links presentes nas páginas.) desenvolvido por Matthew Gray no MIT, em 1993. Outro sistema antigo, Aliweb, também apareceu no mesmo ano e existe até hoje. O primeiro sistema "full text" baseado em crawler foi o WebCrawler, que saiu em 1994. Ao contrário de seus predecessores, ele permite aos usuários buscar por qualquer palavra em qualquer página, o que tornou-se padrão para todos os serviços de busca desde então. Também foi o primeiro a ser conhecido pelo grande público. Ainda em 1994, o Lycos (que começou na Carnegie Mellon University) foi lançado e tornou-se um grande sucesso comercial.
Logo depois, muitos sistemas apareceram, incluindo Excite, Infoseek, Inktomi, Northern Light, e AltaVista. De certa forma, eles competiram com diretórios populares como o Yahoo!. Posteriormente, os diretórios integraram ou adicionaram a tecnologia de search engine para maior funcionalidade.
Os sistemas de busca também eram conhecidos como a "mina de ouro" no frenêsi de investimento na Internet que ocorreu no fim dos anos 1990s. Várias empresas entraram no mercado de forma espetacular, com recorde em ganhos durante seus primeiros anos de existência. Algumas fecharam seu sistema público, e estão oferecendo versões corporativas somente, como a Northern Light.
Mais recentemente, os sistemas de busca também estão utilizando XML ou RSS, permitindo indexar dados de sites com eficácia, sem a necessidade de um crawler complexo. Os sites simplesmente provêm um xml feed o qual é indexado pelo sistema de busca. Os XML feeds estão sendo cada vez mais fornecidos de forma automática por weblogs. Exemplos são o feedster, que inclui o LjFind Search que provê serviços para os blogs do site LiveJournal.

## Tipos de buscador

Existem variados tipos de buscadores:
* Buscadores globais são buscadores que pesquisam todos os documentos na rede, e a apresentação do resultado é aleatória, dependendo do ranking de acessos aos sites. As informações podem referir-se a qualquer tema. O buscador global mais recente é o Wiglr, que utiliza dados muito parecidos com o Google e Bing, é também o primeiro buscador criado nesta década (2010-2020). Google, Yahoo e Bing são os buscadores globais mais acessados;
* Buscadores verticais são buscadores que realizam pesquisas "especializadas" em bases de dados próprias de acordo com suas propensões. Geralmente, a inclusão em um buscador vertical está relacionada ao pagamento de uma mensalidade ou de um valor por clique. Mitula, Trovit, BizRate, AchaNoticias, Oodle, Catho, SAPO, BuscaPé e Become.com são alguns exemplos de buscadores verticais;
* Guias locais são buscadores exclusivamente locais ou regionais. As informações se referem a endereços de empresas ou prestadores de serviços. O resultado é priorizado pelo destaque de quem contrata o serviço. Listão, GuiaMais, AcheCerto, EuAcheiFácil, Zeen! entre outras. Geralmente são cadastros e publicações pagas. É indicado para profissionais e empresas que desejam oferecer seus produtos ou serviços em uma região, Estado ou Cidade;
* Guias de busca local ou buscador local são buscadores de abrangência nacional que lista as empresas e prestadores de serviços próximas ao endereço do internauta a partir de um texto digitado. A proximidade é avaliada normalmente pelo CEP, ou por coordenadas de GPs. Os cadastros Básicos são gratuitos para que os micros empresas ou profissionais liberais possam estar presente na WEB sem que invistam em um site próprio. É indicado para profissionais e empresas que desejam oferecer seus produtos ou serviços em uma Localidade, rua, bairro, cidade ou Estado e possibilitando ainda a forma mais rápida de atualização dos registros de contatos por seus clientes ou fornecedores;
* Diretórios de websites são índices de sites, usualmente organizados por categorias e subcategorias. Tem como finalidade principal permitir ao usuário encontrar rapidamente sites que desejar, buscando por categorias, e não por palavras-chave. Os diretórios de sites geralmente possuem uma busca interna, para que usuários possam encontrar sites dentro de seu próprio índice. Diretórios podem ser a nível regional, nacional ou global, e até mesmo especializados em determinado assunto. Open Directory Project é exemplo de diretórios de sites.
A divulgação de sites de empresas com negócios regionais é acessada em sua grande maioria quando os profissionais da WEB cadastram seus sites nos Buscadores Locais para aumentarem as visitas de internautas, pois não há um sistema de atualização automática dos dados que abranja todos os tipos de categorias e em rapidez necessária. Por esta razão, somente cerca de 20% a 25% de tudo que existe na WEB é publicada nos buscadores.
| Ano | Engine | Evento |
| 1993 | Wandex | Lançamento |
| 1993 | Aliweb | Lançamento |
| 1994 | WebCrawler | Lançamento |
| | Infoseek | Lançamento |
| | Lycos | Lançamento |
| 1995 | AltaVista | Lançamento (parte do DEC) |
| 1995 | Sapo.pt | Lançamento |
| 1996 | Dogpile | Lançamento |
| | Inktomi | Fundado |
| | Ask Jeeves | Fundado |
| 1997 | Northern Light | Lançamento |
| 1997 | Sapo.pt | Fundado |
| 1998 | Google | Lançamento |
| 1999 | AlltheWeb | Lançamento |
| 1999 | Baidu | Fundado |
| 1999 | Aonde.com | Lançamento |
| 2000 | Gigablast | Lançamento |
| 2000 | Singingfish | Lançamento |
| 2000 | Teoma | Fundado |
| 2000 | Vivisimo | Fundado |
| 2003 | Objects Search | Lançamento |
| 2004 | Yahoo! Search | Lançamento final (primeiros resultados originais) |
| | MSN Search | Lançamento beta |
| 2005 | MSN Search | Lançamento final |
| 2006 | Quaero | Fundado |
| 2006 | Trovit | Fundado |
| 2007 | Ask.com | Fundado |
| 2008 | Cuil | Fundado |
| 2009 | Bing | Fundado |
| 2009 | Zeen.com.br | Fundado |
| 2011 | Wiglr | Lançamento |
| 2013 | SACF Search | Lançamento |
| 2014 | meetrio.com.br | Lançamento |
| 2018 | hotbusca.com | Lançamento |

## Funcionamento

Um motor de busca opera na seguinte ordem:
* Web crawling (percorrer por links)
* Indexação
* Busca
Os sistemas de busca trabalham armazenando informações sobre um grande número de páginas, as quais eles obtêm da própria WWW. Estas páginas são recuperadas por um Web crawler (também conhecido como spider) — um Web browser automatizado que segue cada link que vê. As exclusões podem ser feitas pelo uso do robots.txt. O conteúdo de cada página então é analisado para determinar como deverá ser indexado (por exemplo, as palavras são extraídas de títulos, cabeçalhos ou campos especiais chamados meta tags). Os dados sobre as páginas são armazenados em um banco de dados indexado para uso nas pesquisas futuras. Alguns sistemas, como o do Google, armazenam todo ou parte da página de origem (referido como um cache) assim como informações sobre as páginas, no qual alguns armazenam cada palavra de cada página encontrada, como o AltaVista. Esta página em cache sempre guarda o próprio texto de busca pois, como ele mesmo foi indexado, pode ser útil quando o conteúdo da página atual foi atualizado e os termos de pesquisa não mais estão contidos nela. Este problema pode ser considerado uma forma moderada de linkrot (perda de links em documentos da Internet, ou seja, quando os sites deixaram de existir ou mudaram de endereço), e a maneira como o Google lida com isso aumenta a usabilidade ao satisfazer as expectativas dos usuários pelo fato de o termo de busca estarão na página retornada. Isto satisfaz o princípio de “menos surpresa”, pois o usuário normalmente espera que os termos de pesquisa estejam nas páginas retornadas. A relevância crescente das buscas torna muito útil estas páginas em cache, mesmo com o fato de que podem manter dados que não mais estão disponíveis em outro lugar.
Quando um usuário faz uma busca, tipicamente digitando palavras-chave, o sistema procura o índice e fornece uma lista das páginas que melhor combinam ao critério, normalmente com um breve resumo contendo o título do documento e, às vezes, partes do seu texto. A maior parte dos sistemas suportam o uso de termos booleanos AND, OR e NOT para melhor especificar a busca. E uma funcionalidade avançada é a busca aproximada, que permite definir a distância entre as palavras-chave.
A utilidade de um sistema de busca depende da relevância do resultado que retorna. Enquanto pode haver milhões de páginas que incluam uma palavra ou frase em particular, alguns sites podem ser mais relevantes ou populares do que outros. A maioria dos sistemas de busca usam métodos para criar um ranking dos resultados para prover o "melhor" resultado primeiro. Como um sistema decide quais páginas são melhores combinações, e qual ordem os resultados aparecerão, varia muito de um sistema para outro. Os métodos também modificam-se ao longo do tempo, enquanto o uso da Internet muda e novas técnicas evoluem.
A maior parte dos sistemas de busca são iniciativas comerciais suportadas por rendimentos de propaganda e, como resultado, alguns usam a prática controversa de permitir aos anunciantes pagar para ter sua listagem mais alta no ranking nos resultados da busca.
A vasta maioria dos serviços de pesquisa são rodados por empresas privadas usando algoritmos proprietários e bancos de dados fechados, sendo os mais populares o Google, Bing e Yahoo! Search. De qualquer forma, a tecnologia de código-aberto para sistemas de busca existe, tal como ht://Dig, Nutch, Senas, Egothor, OpenFTS, DataparkSearch e muitos outros.

## Custos de armazenamento e tempo de crawling

Os custos de armazenamento não são o recurso limitador na implementação de um sistema de busca. Armazenar simplesmente 10 bilhões de páginas de 10 kbytes cada (comprimidas) requer 100 TB e outros aproximados 100 TB para índices, dando um custo de hardware total em menos de $200 k: 400 drives de disco de 500 GB em 100 PCs baratos.
De qualquer forma, um sistema público de busca consideravelmente requer mais recursos para calcular os resultados e prover alta disponibilidade. E os custos de operar uma grande server farm não são triviais.
Passar por 10 B páginas com cem máquinas percorrendo links a 100 páginas/segundo levaria 1M segundos, ou 11.6 dias em uma conexão de Internet de alta capacidade. A maior parte dos sistemas percorre uma pequena fatia da Web (10-20% das páginas) perto desta frequência ou melhor, mas também percorre sites dinâmicos (por exemplo, sites de notícias e blogs) em uma frequência muito mais alta.

## Motores de busca geoespaciais

Uma recente melhoria na tecnologia de busca é a adição de geocodificação e geoparsing para o processamento dos documentos ingeridos. O geoparsing tenta combinar qualquer referência encontrada a lugares para um quadro geoespacial de referência, como um endereço de rua, localizações de dicionário de termos geográficos, ou a uma área (como um limite poligonal para uma municipalidade). Através deste processo de geoparsing, as latitudes e longitudes são atribuídas aos lugares encontrados e são indexadas para uma busca espacial posterior. Isto pode melhorar muito o processo de busca pois permite ao usuário procurar documentos para uma dada extensão do mapa, ou ao contrário, indicar a localização de documentos combinando com uma dada palavra-chave para analisar incidência e agrupamento, ou qualquer combinação dos dois. Uma empresa que desenvolveu este tipo de tecnologia é a MetaCarta, que disponibiliza seu produto como um XML Web Service para permitir maior integração às aplicações existentes.
A MetaCarta também provê uma extensão para o programa GIS como a ArcGIS (ESRI) para permitir aos analistas fazerem buscas interativamente e obter documentos em um contexto avançado geoespacial e analítico.