Busca com sugestão de palavras chaves, como é que o google faz sem overhead?
5 respostas
J
jarod
Fala pessoal,
estava olhando o google suggest (http://www.google.com/webhp?complete=1&hl=en) onde sugere as palavras chaves ao digitar e pergunto a vocês qual melhor forma de implementar isso, menos impacto no servidor. Acredito tenha que se criar um indice no banco de dados das palavras chaves, e gerar a cada key press. Mas isso vai pode dar um overhead no banco, como é que será que google faz isso?
O Google não usa um banco de dados SQL, mas uma solução própria.
R
roger_rf
Minha opinião é que o Google resolve esse problema através de computação altamente distribuída. Quando você digita uma palavra, ele faz uma busca parecida (se não idêntica) com aquela que seria feita quando você clicasse “Pesquisa Google”, extrai as palavras-chave destes resultados e mostra para você. Mas veja bem, a busca de resultados e extração das palavras-chave é feita através da colaboração de centenas ou milhares de servidores, o que garante um bom desempenho e minimiza o impacto que normalmente ocorreria caso fossem usados apenas alguns poucos servidores.
mcbarsotti
um pouco de cada coisa que foi falada acima… mas o principal é o Map Reduce que o google usa, o framework Hadoop usa a mesma coisa.
da uma olhada nesse link, tem um documento explicativo. (http://labs.google.com/papers/mapreduce-osdi04.pdf
abs!!!
J
jarod
mcbarsotti:
um pouco de cada coisa que foi falada acima… mas o principal é o Map Reduce que o google usa, o framework Hadoop usa a mesma coisa.
da uma olhada nesse link, tem um documento explicativo. (http://labs.google.com/papers/mapreduce-osdi04.pdf
abs!!!
Interessante. Estava mesmo lendo sobre isso.
T
thingol
Pelo que imagino, o Google Suggest deve consultar uma outra base, que é a de consultas frequentemente realizadas. Essa lista é diferente para cada país em que o Google trabalha. Por exemplo, se você digitar canada, você terá no Google do Brasil: