РАЗДЕЛЫ
Архив
|
Как устроен Google SuggestАнатолий Ализар ≡ Архив | архивная статья | 20.12.2004 18:04 Новая функция «предсказания запросов» Google Suggest — одна из самых удивительных программистских разработок, которые появились на поисковых сайтах в последнее время. Разработчики пытаются разобраться, как работает этот скрипт. Google Suggest — это технология автозаполнения строки поискового запроса на основе общей статистики самых популярных запросов. При этом также демонстрируется примерное количество документов, которые соответствуют каждому предполагаемому запросу. Для работы системы необходимо разрешить в браузере выполнение Javascript и прием файлов cookie. За неделю, прошедшую с момента начала тестирования Google Suggest, независимые разработчики подробно разобрали, как работает этот скрипт. Наиболее полный анализ опубликовал в своем блоге Крис Джастус (Chris Justus). Оригинальный скрипт Google Suggest сжат, насколько это только возможно (до 11 КБ). Поэтому для анализа нужно первым делом его «расшифровать». В расшифрованном, а тем более в снабженном комментариями виде каждый программист уже может изучить исходный код и получить детальное представление, как он работает. Как говорит Крис Джастус, это «самая крутая штука, которую я видел с тех пор как обнаружил 1. Скорость. Даже при быстрой печати список вариантов поразительно быстро обновляется после каждого нажатия клавиши. А ведь при этом производится запрос к базе данных и 2. Интерфейс. Выпадающее меню идеально соответствует ширине поисковой строки, самый подходящий вариант в строке поиска выделен, осуществляется навигация по меню вверх и вниз. После анализа кода скрипта выявляются и другие особенности: отличная поддержка кэша, так что после нажатия Backspace скрипт не посылает новый запрос на сервер, динамическая подстройка скорости обновления в зависимости от пинга на Google. Для работы с «быстрыми пользователями» на плохом коннекте предназначена специальная функция setTimeout, которая при быстрой печати обновляет результаты не после каждого нажатия, а через два или три (при быстрой печати). Вот другие особенности, которые выяснились после изучения кода скрипта: 1. Автозаполнение можно отключить, если добавить в адресную строку параметр autocomplete="off". 2. Объект XMLHTTP / XMLHttpRequest служит для коммуникации с сервером Google, отправки запросов и получения данных без обновления страницы. 3. Отлично реализовано слежение за нажатиями клавиш и положением курсора мыши. 4. Действительно понятно, как можно выделить текст в строке запроса средствами Javascript. Выполнение скрипта вызывается из InstallAC()… Интересно, что при этом осуществляется проверка: var То есть система пытается определить пользователей из Японии, Кореи и Китая, что может говорить о поддержке не только английского, но и азиатских языков. Функция InstallAC вызывает другую функцию (installACPart2), которая проверяет поддержку браузером XMLHttp и создает ресурс «_completeDiv», куда и направляется контент, полученный с сервера. Полный анализ скрипта Google Suggest можно изучить в блоге Криса Джастуса. Там действительно очень много интересного… комментарии(4) разделы: Архив Материалы по теме Google добавляет библиотеки и угадывает поисковые запросы Другие |
Последние комментарии
Гость про Суд велел "Твиттеру" сдать сторонников WikiLeaks (12)
Гость про Книгоиздатели начали судиться с торрентами (2)
l_e_x_a про "ВКонтакте" принудительно протестирует пользователей (35)
andrey_kadetov про Google назвал Facebook "ловушкой без выхода" (6)
volv про День папуасского робошахтёра (14)
l_e_x_a про Русские кликботы признаны самыми активными (11)
все комментарии looli спрашивает: Земля вампиров смотреть онлайн в HD качестве looli спрашивает: Зеленый Фонарь смотреть онлайн в HD качестве looli спрашивает: Защитник смотреть онлайн в HD качестве looli спрашивает: Запретная зона смотреть онлайн в HD качестве looli спрашивает: Закон доблести смотреть онлайн в HD качестве looli спрашивает: Вышибала смотреть онлайн в HD качестве looli спрашивает: Встречный ветер смотреть онлайн в HD качестве looli спрашивает: Все любят китов смотреть онлайн в HD качестве |
Copyright © 2001-2020 «Вебпланета». При перепечатке ссылка на «Вебпланету» обязательна.