Любые идеи о том, как именно работает новый мгновенный поиск Google? Кажется, это просто вызовы AJAX для старого поиска, но довольно сложно упростить Google. У кого-нибудь есть предположения?
РЕДАКТИРОВАТЬ: я знаю, что AJAX отправляется с каждым нажатием клавиши, но это прогнозное? Или вы думаете, что это обычный поиск в Google?
ajax
search
google-search
google-instant
DexterW
источник
источник
Ответы:
ОБНОВЛЕНИЕ: Google только что за кулисами опубликовал статью в блоге под названием Google Instant . Это интересно читать, и, очевидно, связано с этим вопросом. Вы можете прочитать, например, как они справились с дополнительной нагрузкой (5-7X согласно статье) на стороне сервера. В ответе ниже рассматривается, что происходит на стороне клиента:
Исследование с Firebug , Google делает в Ajax запрос GET на каждом нажатии клавиши:
Я думаю, что это работает так же, как автоматическое завершение. Однако на этот раз он также возвращает результаты поиска частично полной поисковой фразы в формате JSON .
Изучая один из ответов JSON при наборе «Переполнение стека»:
Мы видим, что ответ JSON содержит контент для построения результатов поиска по мере ввода.
Отформатированные ответы JSON выглядят примерно так:
Дальнейшее нетехническое чтение:
источник
Как уже говорили другие, Google мгновенно возвращает результаты для лучшего результата из того, что предлагает Google Suggest . Поэтому, если вы наберете fac , Google Suggests думает, что вы печатаете в Facebook . Интересно, что в запросе JSON в Google отправляется только частичный поисковый термин fac , поэтому Google Suggest используется с обеих сторон.
Поиски фактически не выполняются при каждом нажатии клавиши. Если вы печатаете достаточно быстро, некоторые могут пропустить.
Я подозреваю, что это не увеличивает нагрузку на серверы Google так сильно, как вы думаете. Большинство дополнительных поисков относятся к очень популярным словам, когда вы начинаете набирать текст - если вы начинаете искать что-то, начинающееся с f , он будет искать facebook , если вы начнете искать что-то, начинающееся с ju , он будет искать Джастина Бибера . Благодаря кешированию эти поиски не очень дороги.
источник
Это предсказуемо. Результаты поиска взяты из первого предложения автозаполнения (или выбранного, если вы нажмете стрелку вниз или наведите курсор мыши на предложение).
Другими словами, если я наберу «винил с», первое предложение автозаполнения будет «виниловый сайдинг», и результаты поиска ясно показывают поиск «виниловый сайдинг». Если я сделаю обычный поиск в Google по запросу "vinyl s", результаты поиска будут другими.
Таким образом, Google Instant предсказывает то, что обычный поиск Google не ... он ищет предложенное автозаполнение вместо буквального незаконченного поискового запроса.
источник
Преобразование первого значения из ключа
u
в ответе Ajax Даниэля Вассалло дает URL-адрес , который затем приводит к некоторому (недействительному) JSON. Я еще не уверен, для чего этот бит.Это
d
дает некоторый HTML, который вставляется в страницу. Вот немного распакованная версия . В основном это скрипт-тег, который передает еще 2 фрагмента HTML в функциюje.pa()
. Кажется, что эти фрагменты совпадают с не мгновенными результатами поиска.источник
Недавно я написал смутно популярный графический интерфейс для поисковой системы Solr. Это действительно просто, так что вы должны иметь возможность взглянуть на код и понять общие понятия http://fergiemcdowall.github.io/solrstrap/
источник