Как работает Google Instant?


есть идеи о том, как именно работает новый Google instant search? Кажется, что это просто вызовы AJAX для старого поиска, но это довольно сложно упростить Google. У кого-нибудь есть предположения?

изменить: Я знаю, что AJAX отправляется с каждым нажатием клавиши, но является ли это предсказательным? Или вы думаете, что это просто обычный поиск в google?

5 131

5 ответов:

обновление: компания Google только что опубликовал статью в блоге под названием Google Instant, за кулисами. Это интересное чтение, и, очевидно, связано с этим вопросом. Вы можете прочитать, как они справились с дополнительной нагрузкой (5-7X согласно статье) на стороне сервера, например. Ответ ниже рассматривает то, что происходит на стороне клиента:


исследовав с Firebug, Google делает Ajax получить запрос на каждый нажатие клавиши:

Google Instant Search

Я думаю, что это работает так же, как автоматическое завершение. Однако на этот раз он также возвращает результаты поиска частично полной поисковой фразы в JSON.

изучение одного из ответов JSON при вводе "переполнение стека":

Google Instant Search Ponies

мы видим, что ответ JSON содержит содержимое для построения результатов поиска по мере ввода.

форматированный Ответы JSON выглядят примерно так:

{
    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"
}/*""*/

дальнейшее нетехническое чтение:

как говорили другие,Google мгновенно возвращает результаты для верхнего результата того, что Google Suggest предлагает. Поэтому, если ввести fac, Google предлагает думает, что вы набираете в facebook. Интересно, что только частичный поисковый запрос, fac, отправляется в Google в запросе JSON, поэтому Google Suggest используется на обоих концах.

Поиск фактически не выполняется на нажатие клавиши. Если вы введите достаточно быстро, некоторые могут быть пропущены.

Я подозреваю, что это не увеличит нагрузку на серверы Google, как вы могли бы подумать. Большинство дополнительных поисков предназначены для очень популярных слов, когда вы начинаете набирать материал - если вы начинаете искать что-то, начиная с f, он будет искать facebook, если вы начнете искать что-то начиная с ju, он будет искать Джастин Бибер. Благодаря кэшированию, эти поиски не очень дорого.

Это можно предсказать. Результаты поиска относятся к первому предложению автозаполнения (или выбранному, если вы нажмете стрелку вниз или наведете указатель мыши на предложение).

таким образом, google instant является прогнозирующим способом, которым обычный google обысков нет... он ищет предлагаемое автозаполнение вместо буквального незаконченного поискового запроса.

преобразование первого значения из ключа u в ответе Даниэля Вассалло ответ Ajax дает URL, что затем приводит к некоторому (недопустимому) JSON. Я еще не знаю, для чего этот бит.

The d дает некоторый HTML, который вставляется в страницу. Вот немного распаковать версии. Это в основном тег script, который проходит в 2 Далее куски HTML функции je.pa(). Эти куски кажутся такими же, как не мгновенные результаты поиска.

Я некоторое время назад написал смутно популярный графический интерфейс мгновенного поиска для поисковой системы Solr. Его очень просто, так что вы должны быть в состоянии посмотреть на код и понять общие понятия http://fergiemcdowall.github.io/solrstrap/