web-dev-qa-db-fra.com

Comment fonctionne Google Instant?

Des idées sur le fonctionnement exact de la nouvelle recherche instantanée google? Il semble que ce soit juste AJAX appels à l'ancienne recherche, mais il est assez difficile de simplifier Google à ce point. Quelqu'un a des spéculations?

EDIT: Je sais qu'il y a AJAX envoyé avec chaque pression de touche, mais est-ce prédictif? Ou pensez-vous que c'est juste une ancienne recherche google?

133
DexterW

MISE À JOUR: Google vient de publier un article de blog intitulé Google Instant, dans les coulisses . C'est une lecture intéressante, et évidemment liée à cette question. Vous pouvez lire comment ils ont géré la charge supplémentaire (5-7X selon l'article) côté serveur, par exemple. La réponse ci-dessous examine ce qui se passe du côté client:


En examinant avec Firebug , Google effectue une requête Ajax GET à chaque pression de touche:

Google Instant Search

Je suppose que cela fonctionne de la même manière que la complétion automatique. Cependant, cette fois, il renvoie également les résultats de la recherche de la phrase de recherche partiellement complète au format JSON .

Examen de l'une des réponses JSON lors de la frappe "Débordement de pile":

Google Instant Search Ponies

Nous pouvons voir que la réponse JSON contient le contenu pour construire les résultats de la recherche pendant que nous tapons.

Les réponses JSON formatées ressemblent à ceci:

{
    e: "j9iHTLXlLNmXOJLQ3cMO",
    c: 1,
    u: "http://www.google.com/search?hl\x3den\x26expIds\x3d17259,24472,24923,25260,25901,25907,26095,26446,26530\x26sugexp\x3dldymls\x26xhr\x3dt\x26q\x3dStack%20Overflow\x26cp\x3d6\x26pf\x3dp\x26sclient\x3dpsy\x26aq\x3df\x26aqi\x3dg4g-o1\x26aql\x3d\x26oq\x3dStack+\x26gs_rfai\x3d\x26pbx\x3d1\x26fp\x3df97fdf10596ae095\x26tch\x3d1\x26ech\x3d1\x26psi\x3dj9iHTO3xBo2CONvDzaEO12839712156911",
    d: "\x3clink rel\x3dprefetch href\x3d\x22http://stackoverflow.com/\x22\x3e\x3cscript\x3eje.pa(_loc, \x27rso\x27, \x27\\x3c!--m--\\x3e\\x3clink rel\\x3dprefetch href\\x3d\\x22http://stackoverflow.com/\\x22\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://stackoverflow.com/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNERidL9Hb6OvGW93_Y6MRj3aTdMVA\\x27,\\x27\\x27,\\x270CBYQFjAA\\x27)\\x22\\x3e\\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3eA language-independent collaboratively edited question and answer site for programmers.\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3e\\x3cb\\x3estackoverflow\\x3c/b\\x3e.com/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:U1GC2GYOToIJ:stackoverflow.com/+Stack+Overflow\\x26amp;cd\\x3d1\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNFfKMag7Tq8CMbbfu8Gcj_GjukTbA\\x27,\\x27\\x27,\\x270CBgQIDAA\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:stackoverflow.com/+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CBkQHzAA\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3cbr\\x3e\\x3ctable class\\x3dslk style\\x3d\\x22border-collapse:collapse;margin-top:4px\\x22\\x3e\\x3ctr\\x3e\\x3ctd style\\x3d\\x22padding-left:14px;vertical-align:top\\x22\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/questions\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNHmP78gEctJKvBrydP2c52F_FEjvA\\x27,\\x27\\x27,\\x270CBoQqwMoADAA\\x27)\\x22\\x3eQuestions\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/questions/ask\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNGZF-qwWVTZOWPlr4vgSA7qB64LLQ\\x27,\\x27\\x27,\\x270CBsQqwMoATAA\\x27)\\x22\\x3eAsk Question\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/users/135152/omg-ponies\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNE9zo6Qi_AM1bjmPGeMGfbnPi3niA\\x27,\\x27\\x27,\\x270CBwQqwMoAjAA\\x27)\\x22\\x3eOMG Ponies\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://careers.stackoverflow.com/\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNEaqlBrfDcc1gdPZ6dgthff0s5WmA\\x27,\\x27\\x27,\\x270CB0QqwMoAzAA\\x27)\\x22\\x3eCareers\\x3c/a\\x3e\\x3c/div\\x3e\\x3ctd style\\x3d\\x22padding-left:14px;vertical-align:top\\x22\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/about\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNEqgPttrXj3r4o3TZHX5WaWvFe1HQ\\x27,\\x27\\x27,\\x270CB4QqwMoBDAA\\x27)\\x22\\x3eAbout\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/faq\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNF3X3eRc0RsxYynXZhhbyYkuKWZ5g\\x27,\\x27\\x27,\\x270CB8QqwMoBTAA\\x27)\\x22\\x3eThe FAQ\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://blog.stackoverflow.com/\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNG7KphjK6RuC5cj-6U5jeuvipt5dg\\x27,\\x27\\x27,\\x270CCAQqwMoBjAA\\x27)\\x22\\x3eBlog\\x3c/a\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dsld\\x3e\\x3ca class\\x3dsla href\\x3d\\x22http://stackoverflow.com/users\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x271\\x27,\\x27AFQjCNFfN_wcGm4HE5XpDxvcH4bIrkv2dw\\x27,\\x27\\x27,\\x270CCEQqwMoBzAA\\x27)\\x22\\x3eUsers\\x3c/a\\x3e\\x3c/div\\x3e\\x3ctr\\x3e\\x3ctd colspan\\x3d2 style\\x3d\\x22padding-left:14px;vertical-align:top\\x22\\x3e\\x3cdiv style\\x3d\\x22padding-top:6px\\x22\\x3e\\x3ca class\\x3dfl href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3d+site:stackoverflow.com+Stack+Overflow\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CCIQrAM\\x22\\x3eMore results from stackoverflow.com\\x26nbsp;\\x26raquo;\\x3c/a\\x3e\\x3c/div\\x3e\\x3c/table\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://stackoverflow.com/questions\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x272\\x27,\\x27AFQjCNHmP78gEctJKvBrydP2c52F_FEjvA\\x27,\\x27\\x27,\\x270CCUQFjAB\\x27)\\x22\\x3eHottest Questions - \\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3eHello \\x3cem\\x3eStack Overflow\\x3c/em\\x3e! I\\x26#39;m working with someone else\\x26#39;s PHP function that works fine as long as I pass it at least three arguments. If I pass it two argument, \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3e\\x3cb\\x3estackoverflow\\x3c/b\\x3e.com/questions\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:6S_0sErDKfQJ:stackoverflow.com/questions+Stack+Overflow\\x26amp;cd\\x3d2\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x272\\x27,\\x27AFQjCNH7WHzefYlnS05ln4j6rzfE3byDKg\\x27,\\x27\\x27,\\x270CCcQIDAB\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:stackoverflow.com/questions+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CCgQHzAB\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://en.wikipedia.org/wiki/Stack_overflow\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x273\\x27,\\x27AFQjCNEAxaeWmWtD7cBcmZ5QBMsTRNbnCw\\x27,\\x27\\x27,\\x270CCkQFjAC\\x27)\\x22\\x3e\\x3cem\\x3eStack overflow\\x3c/em\\x3e - Wikipedia, the free encyclopedia\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3eIn software, a \\x3cem\\x3estack overflow\\x3c/em\\x3e occurs when too much memory is used on the call stack. The call stack contains a limited amount of memory,  often determined at \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3een.wikipedia.org/wiki/\\x3cb\\x3eStack\\x3c/b\\x3e_\\x3cb\\x3eoverflow\\x3c/b\\x3e\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:mWu8b0BQAmwJ:en.wikipedia.org/wiki/Stack_overflow+Stack+Overflow\\x26amp;cd\\x3d3\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x273\\x27,\\x27AFQjCNFG_5ndK-KmWJy6s3pOsi8lsxqEZg\\x27,\\x27\\x27,\\x270CCsQIDAC\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:en.wikipedia.org/wiki/Stack_overflow+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CCwQHzAC\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://blog.stackoverflow.com/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x274\\x27,\\x27AFQjCNG7KphjK6RuC5cj-6U5jeuvipt5dg\\x27,\\x27\\x27,\\x270CC0QFjAD\\x27)\\x22\\x3eBlog – \\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3e6 Sep 2010 \\x3cb\\x3e...\\x3c/b\\x3e The latest version of the \\x3cem\\x3eStack Overflow\\x3c/em\\x3e Trilogy Creative Commons Data Dump is now available. This reflects all public  data in … \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3eblog.\\x3cb\\x3estackoverflow\\x3c/b\\x3e.com/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:iqtvg9Ge1c0J:blog.stackoverflow.com/+Stack+Overflow\\x26amp;cd\\x3d4\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x274\\x27,\\x27AFQjCNFX2P2-RTCs_GaR6NgSw30p007UEA\\x27,\\x27\\x27,\\x270CC8QIDAD\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:blog.stackoverflow.com/+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CDAQHzAD\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\x27,_ss);\x3c/script\x3e"
}/*""*/{
    e: "j9iHTLXlLNmXOJLQ3cMO",
    c: 1,
    u: "http://www.google.com/search?hl\x3den\x26expIds\x3d17259,24472,24923,25260,25901,25907,26095,26446,26530\x26sugexp\x3dldymls\x26xhr\x3dt\x26q\x3dStack%20Overflow\x26cp\x3d6\x26pf\x3dp\x26sclient\x3dpsy\x26aq\x3df\x26aqi\x3dg4g-o1\x26aql\x3d\x26oq\x3dStack+\x26gs_rfai\x3d\x26pbx\x3d1\x26fp\x3df97fdf10596ae095\x26tch\x3d1\x26ech\x3d1\x26psi\x3dj9iHTO3xBo2CONvDzaEO12839712156911",
    d: "\x3cscript\x3eje.pa(_loc, \x27rso\x27, \x27\\x3c!--m--\\x3e\\x3cli class\\x3dg style\\x3d\\x22margin-left:16px\\x22\\x3e\\x3ch3 class\\x3d\\x22r hcw\\x22\\x3e\\x3ca href\\x3d\\x22http://blog.stackoverflow.com/category/podcasts/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x275\\x27,\\x27AFQjCNGnAJSxUa4GLcg-E7PNvIFmPC53gQ\\x27,\\x27\\x27,\\x270CDEQFjAE\\x27)\\x22\\x3epodcasts - Blog – \\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s hc\\x22\\x3eJoel and Jeff sit down with our new community coordinator, Robert Cartaino, to record a “bonus” podcast discussing the future of \\x3cem\\x3eStack Overflow\\x3c/em\\x3e and Stack \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3eblog.\\x3cb\\x3estackoverflow\\x3c/b\\x3e.com/category/podcasts/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:JT0sWmmtiAEJ:blog.stackoverflow.com/category/podcasts/+Stack+Overflow\\x26amp;cd\\x3d5\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x275\\x27,\\x27AFQjCNErCiLBch55HA8i5BAdChcmQYH8nw\\x27,\\x27\\x27,\\x270CDMQIDAE\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:blog.stackoverflow.com/category/podcasts/+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CDQQHzAE\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://itc.conversationsnetwork.org/series/stackoverflow.html\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x276\\x27,\\x27AFQjCNHG9l1PMbilYkhohNFuj3g6ce1LuA\\x27,\\x27\\x27,\\x270CDUQFjAF\\x27)\\x22\\x3e\\x3cem\\x3eStackOverflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3eJoel and Jeff sit down with our new community coordinator, Robert Cartaino, to discuss the future of \\x3cem\\x3eStack Overflow\\x3c/em\\x3e and Stack Exchange 2.0. \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3eitc.conversationsnetwork.org/series/\\x3cb\\x3estackoverflow\\x3c/b\\x3e.html\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:8MkFpx7D4wYJ:itc.conversationsnetwork.org/series/stackoverflow.html+Stack+Overflow\\x26amp;cd\\x3d6\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x276\\x27,\\x27AFQjCNFP62Bg_o2kaz3jzXxzsrTs_7RdNA\\x27,\\x27\\x27,\\x270CDcQIDAF\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:itc.conversationsnetwork.org/series/stackoverflow.html+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CDgQHzAF\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://support.Microsoft.com/kb/145799\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x277\\x27,\\x27AFQjCNHzyj5rHEX7IiyFWnP0ziE3B32rGg\\x27,\\x27\\x27,\\x270CDkQFjAG\\x27)\\x22\\x3eHow to Troubleshoot Windows Internal \\x3cem\\x3eStack Overflow\\x3c/em\\x3e Error Messages\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3eThis article lists steps to help you troubleshoot problems with \\x3cem\\x3estack overflow\\x3c/em\\x3e errors in  Windows. Stacks are reserved memory that programs use to process \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3esupport.Microsoft.com/kb/145799\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:ECO9ORCsraAJ:support.Microsoft.com/kb/145799+Stack+Overflow\\x26amp;cd\\x3d7\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x277\\x27,\\x27AFQjCNHYsox9EW1Ye9Nn2G6WQzEpJDOzcw\\x27,\\x27\\x27,\\x270CDsQIDAG\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:support.Microsoft.com/kb/145799+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CDwQHzAG\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://stackoverflow.carsonified.com/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x278\\x27,\\x27AFQjCNHcEPoch5soLj2CpLpRfnW-Z2-aLw\\x27,\\x27\\x27,\\x270CD0QFjAH\\x27)\\x22\\x3e\\x3cem\\x3eStackOverflow\\x3c/em\\x3e DevDays » Home\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3e\\x3cem\\x3eStackOverflow\\x3c/em\\x3e Dev Days is run by Carsonified, so please give us a shout if you need anything or are interested in sponsoring the event. \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3e\\x3cb\\x3estackoverflow\\x3c/b\\x3e.carsonified.com/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:uhl8NPgikN0J:stackoverflow.carsonified.com/+Stack+Overflow\\x26amp;cd\\x3d8\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x278\\x27,\\x27AFQjCNFf9Vl5L3FaQGPapUpIFw5gqVUCnA\\x27,\\x27\\x27,\\x270CD8QIDAH\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:stackoverflow.carsonified.com/+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEAQHzAH\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://stackoverflow.org/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x279\\x27,\\x27AFQjCNF-YrPvTLTJlFFDJrJE0cjGdlOpbg\\x27,\\x27\\x27,\\x270CEEQFjAI\\x27)\\x22\\x3e\\x3cem\\x3eStackOverflow\\x3c/em\\x3e.org\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3e\\x3cem\\x3eStackOverflow\\x3c/em\\x3e.org began as the merging of two ideas that have been kicking around in my head for years. First, I wanted a dorky programming-related domain \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3e\\x3cb\\x3estackoverflow\\x3c/b\\x3e.org/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:u0dIlJW-XMYJ:stackoverflow.org/+Stack+Overflow\\x26amp;cd\\x3d9\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x279\\x27,\\x27AFQjCNHcJcV2QVybr6voztyPwHCrNOOD1w\\x27,\\x27\\x27,\\x270CEMQIDAI\\x27)\\x22\\x3eCached\\x3c/a\\x3e - \\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3drelated:stackoverflow.org/+Stack+Overflow\\x26amp;tbo\\x3d1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEQQHzAI\\x22\\x3eSimilar\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\\x3c!--m--\\x3e\\x3cli class\\x3dg\\x3e\\x3ch3 class\\x3d\\x22r\\x22\\x3e\\x3ca href\\x3d\\x22http://embeddedgurus.com/stack-overflow/\\x22 class\\x3dl onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x2710\\x27,\\x27AFQjCNFYQ5E8irNUCpRsbOHHyfc0oqGpWw\\x27,\\x27\\x27,\\x270CEUQFjAJ\\x27)\\x22\\x3e\\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/a\\x3e\\x3c/h3\\x3e\\x3cdiv class\\x3d\\x22s\\x22\\x3e\\x3cem\\x3eStack Overflow\\x3c/em\\x3e. Nigel Jones. Nigel Jones has over 20 years of experience designing electronic circuits and firmware. (full bio). Pages. Contact Nigel. Links \\x3cb\\x3e...\\x3c/b\\x3e\\x3cbr\\x3e\\x3cspan class\\x3df\\x3e\\x3ccite\\x3eembeddedgurus.com/\\x3cb\\x3estack\\x3c/b\\x3e-\\x3cb\\x3eoverflow\\x3c/b\\x3e/\\x3c/cite\\x3e - \\x3cspan class\\x3dgl\\x3e\\x3ca href\\x3d\\x22http://webcache.googleusercontent.com/search?q\\x3dcache:Rl_rUfEG_fIJ:embeddedgurus.com/stack-overflow/+Stack+Overflow\\x26amp;cd\\x3d10\\x26amp;hl\\x3den\\x26amp;ct\\x3dclnk\\x22 onmousedown\\x3d\\x22return rwt(this,\\x27\\x27,\\x27\\x27,\\x27\\x27,\\x2710\\x27,\\x27AFQjCNFqMjsc1pBI9JexjMSPY7wm5QLI8w\\x27,\\x27\\x27,\\x270CEcQIDAJ\\x27)\\x22\\x3eCached\\x3c/a\\x3e\\x3c/span\\x3e\\x3c/span\\x3e\\x3c/div\\x3e\\x3c!--n--\\x3e\x27,_ss);\x3c/script\x3e"
}/*""*/{
    e: "j9iHTLXlLNmXOJLQ3cMO",
    c: 1,
    u: "http://www.google.com/search?hl\x3den\x26expIds\x3d17259,24472,24923,25260,25901,25907,26095,26446,26530\x26sugexp\x3dldymls\x26xhr\x3dt\x26q\x3dStack%20Overflow\x26cp\x3d6\x26pf\x3dp\x26sclient\x3dpsy\x26aq\x3df\x26aqi\x3dg4g-o1\x26aql\x3d\x26oq\x3dStack+\x26gs_rfai\x3d\x26pbx\x3d1\x26fp\x3df97fdf10596ae095\x26tch\x3d1\x26ech\x3d1\x26psi\x3dj9iHTO3xBo2CONvDzaEO12839712156911",
    d: "\x3cscript\x3eje.p(_loc,\x27botstuff\x27,\x27 \\x3cdiv id\\x3dbrs style\\x3d\\x22clear:both;margin-bottom:17px;overflow:hidden\\x22\\x3e\\x3cdiv class\\x3d\\x22med\\x22 style\\x3d\\x22text-align:left\\x22\\x3eSearches related to \\x3cem\\x3eStack Overflow\\x3c/em\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dbrs_col\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+error\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEkQ1QIoAA\\x22\\x3estack overflow \\x3cb\\x3eerror\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+internet+Explorer\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEoQ1QIoAQ\\x22\\x3estack overflow \\x3cb\\x3einternet Explorer\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dfix+stack+overflow\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEsQ1QIoAg\\x22\\x3e\\x3cb\\x3efix\\x3c/b\\x3e stack overflow\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+xp\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CEwQ1QIoAw\\x22\\x3estack overflow \\x3cb\\x3exp\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3c/div\\x3e\\x3cdiv class\\x3dbrs_col\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+javascript\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CE0Q1QIoBA\\x22\\x3estack overflow \\x3cb\\x3ejavascript\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+Java\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CE4Q1QIoBQ\\x22\\x3estack overflow \\x3cb\\x3ejava\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+c%2B%2B\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CE8Q1QIoBg\\x22\\x3estack overflow \\x3cb\\x3ec++\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3cp\\x3e\\x3ca href\\x3d\\x22/search?hl\\x3den\\x26amp;q\\x3dstack+overflow+windows+xp\\x26amp;revid\\x3d-1\\x26amp;sa\\x3dX\\x26amp;ei\\x3dj9iHTLXlLNmXOJLQ3cMO\\x26amp;sqi\\x3d2\\x26amp;ved\\x3d0CFAQ1QIoBw\\x22\\x3estack overflow \\x3cb\\x3ewindows xp\\x3c/b\\x3e\\x3c/a\\x3e\\x3c/p\\x3e\\x3c/div\\x3e\\x3c/div\\x3e \x27,_ss);/*  */\x3c/script\x3e"
}/*""*/

Lectures complémentaires non techniques:

191
Daniel Vassallo

Comme d'autres l'ont dit, Google renvoie instantanément les résultats pour le meilleur résultat de ce que suggère Google Suggest. Par conséquent, si vous saisissez fac , Google Suggestions pense que vous tapez facebook . Fait intéressant, seul le terme de recherche partielle, fac , est envoyé à Google dans la demande JSON, donc Google Suggest est utilisé aux deux extrémités.

Les recherches ne sont pas réellement effectuées sur toutes les touches. Si vous tapez assez vite, certains peuvent être oubliés.

Je soupçonne que cela n'augmente pas la charge sur les serveurs de Google autant que vous le pensez. La plupart des recherches supplémentaires concernent des mots très populaires lorsque vous commencez à taper des choses - si vous commencez à rechercher quelque chose commençant par f , il recherchera facebook , si vous commencez à chercher quelque chose commençant par ju , il recherchera pour justin bieber . Grâce à la mise en cache, ces recherches ne coûtent pas très cher.

16
David Johnstone

C'est prédictif. Les résultats de la recherche proviennent de la première suggestion de saisie semi-automatique (ou de celle sélectionnée si vous appuyez sur la flèche vers le bas ou la souris sur une suggestion).

En d'autres termes, si je tape "vinyl s", la première suggestion de saisie semi-automatique est "vinyl siding" et les résultats de recherche indiquent clairement une recherche de "vinyl siding". Si je fais une recherche google normale pour "vinyles", les résultats de la recherche sont différents.

Ainsi, l'instant google est prédictif d'une manière que les recherches google normales ne le sont pas ... il recherche la saisie semi-automatique suggérée au lieu de la requête de recherche inachevée littérale.

7
Dagg Nabbit

La conversion de la première valeur de la clé u dans la réponse Ajax de la réponse de Daniel Vassallo donne URL , ce qui conduit alors à un JSON (invalide). Je ne sais pas encore à quoi sert ce bit.

Le d donne du HTML, qui est inséré dans la page. Voici un peu version décompressée . C'est principalement une balise de script, qui passe en 2 autres morceaux de HTML à une fonction je.pa(). Ces morceaux semblent être les mêmes que les résultats de recherche non instantanée.

4
dave1010

Il y a quelque temps, j'ai écrit une interface graphique de recherche instantanée vaguement populaire pour le moteur de recherche Solr. C'est vraiment simple, donc vous devriez pouvoir regarder le code et comprendre les concepts généraux http://fergiemcdowall.github.io/solrstrap/

1
Fergie