Подскажи гугл, как это работает?

Как работает Google Suggest? Как ему удается так быстро обновлять веб-страницу на клиенте, основываясь на информации из удаленной базы данных Google? Почему веб-страница не выглядит «дерганой», если она часто обновляется?


person smallB    schedule 25.06.2011    source источник
comment
@slhck нет, я имел в виду Google Suggest   -  person smallB    schedule 25.06.2011
comment
Google Suggest — это автоматическое завершение вашего поискового запроса. Он отличается от Google Instant, который обновляет результаты поиска на основе первых предложений.   -  person Richard H    schedule 25.06.2011


Ответы (3)


Он использует AJAX.

Когда вы пишете свой запрос, он ищет 10 наиболее часто запрашиваемых слов, соответствующих вашему. Затем он записывает минимизированный JSON в невидимый элемент DIV. Быстро, но все же ресурсоемко.

Попробуйте установить Firebug в Firefox или используйте консоль разработчика в Chrome, откройте консоль и начните писать «Youtube» или что хотите. Вы увидите уменьшенные ответы JSON.

Удачи :D

person Ryan Casas    schedule 25.06.2011
comment
Поиск Google использует jQuery? Я сомневаюсь в этом. - person Richard H; 25.06.2011
comment
Google точно использует jQuery в некоторых продуктах, хотя я не думал, что поиск. И беглым взглядом в Firebug я ничего не вижу jQuery для поиска. - person Richard H; 26.06.2011
comment
Верно, но вызов GET предложения идентичен автозаполнению jQueryUI. И автозаполнение пользовательского HTML-тега тоже есть в окне поиска... Сейчас не знаю... - person Ryan Casas; 26.06.2011

В дополнение к обработке внешнего интерфейса, о которой говорили другие, отличным примером которой является jQuery, вас также может заинтересовать то, как они подходят к идее на внутреннем уровне. Д-р Питер Норвиг написал о том, как создать корректор орфографии, где аналогичные подходы можно использовать для найти близкие совпадения.

person Kyle Burton    schedule 25.06.2011
comment
AFAIK Google Search не использует jQuery - person Richard H; 25.06.2011

Вся страница не обновляется. Только его части используют AJAX — асинхронный Javascript и XML. Запросы Ajax можно делать в Javascript, и страница обновляется, когда возвращается ответ.

Гораздо более интересный вопрос заключается в том, как Google на самом деле ищет более 10 миллиардов документов за крошечную долю секунды :)

person Richard H    schedule 25.06.2011