Como desenvolver um motor de busca como o Google
Eu acho que é uma boa ideia construir um pequeno motor de busca como um projeto pessoal e algo que você pode mais tarde expandir, você vai aprender muitos detalhes à mão.
I'começaria com algo muito simples, construir um web crawler que irá navegar aleatoriamente na web seguindo links, recuperando páginas e armazenando-as. O crawler em si é um projeto exigente em termos de tempo, pois você precisará torná-lo muito eficiente.
A seguir constrói um indexador que irá percorrer as páginas e criar um índice, manter seu índice na memória para ter certeza de que suas consultas são muito rápidas.
Sua aplicação então usa o índice para responder consultas, como você usa o índice para decidir quais páginas correspondem à consulta e como classificar essas páginas é a chave. Existem muitas opções e você terá que experimentar.
Cache tudo que puder, certifique-se de nunca tocar no disco para responder a qualquer consulta, você tem que ser muito rápido e a única maneira de fazer isso é ter toda a informação que você precisa na memória.
Após você ter um mini motor de busca de máquina única funcionando você vai encontrar muitas coisas que você quer fazer ou melhorar, o seu índice e os algoritmos que o utilizam são o seu molho secreto.
Se você acha que fez um ótimo trabalho, então você pode pensar em ir em grande, implantar seu mecanismo de busca em um cluster e usar algo como Apache Spark para criar uma versão distribuída do seu crawler e indexador, agora seu universo não é uma única máquina, mas muitas.
Finalmente, se você quer que isso tenha sucesso, tente fazer algo diferente do que o Google faz. Lembre-se Bing? você não'não quer ser Bing.
Luis
Artigos semelhantes
- Qual motor de jogo é superior para desenvolver jogos VR e AR: Irreal, Unity ou outro motor de jogo?
- Como descarregar todas as imagens do motor de busca de imagens do Google de uma só vez
- Se o 'Google' desligar o seu motor de busca na Austrália, o YouTube também será desligado para a Austrália?
- O Google é um site ou um motor de busca?