Три главных этапа работы поисковика
Любая современная поисковая система состоит из сотен тысяч серверов, объединенных в огромную сеть. Всю ее работу делят на три последовательных процесса, которые идут непрерывно днем и ночью.
- Сканирование сети специальными программами-пауками для постоянного сбора новых и обновленных веб-страниц
- Индексация полученных текстов с превращением терабайтов информации в удобный структурированный словарь
- Обработка пользовательского запроса и ранжирование готовых результатов по сотням различных критериев
Как роботы сканируют интернет
Сбор данных выполняют поисковые роботы, которых называют краулерами или пауками. У Яндекса такого робота зовут Robot, у Google — Googlebot. Робот начинает путь со списка известных адресов, загружает страницу, читает ее код и находит все гиперссылки, ведущие на другие разделы или сторонние сайты. Затем он переходит по этим ссылкам, загружает новые документы и повторяет цикл снова.
Каждую секунду роботы посещают миллионы адресов по всему миру. Чтобы сервера сайтов выдерживали такую нагрузку и не падали от наплыва роботов, поисковики соблюдают правила вежливости. Владелец любого сайта может разместить в корневой папке специальный текстовый файл robots.txt. В этом документе веб-мастер указывает, какие разделы открыты для робота, а какие сканировать запрещено — например, корзину покупок, личные кабинеты пользователей или служебные технические страницы.
Что такое индексация и инвертированный индекс
Просто скачать миллиарды страниц на жесткие диски серверов недостаточно. Если просматривать этот массив текст за текстом во время ввода запроса, ответ пришлось бы ждать часами. Поэтому поисковик разбирает каждый скачанный документ на части. Этот процесс называется индексацией.
Сначала система убирает программный код HTML, служебные теги и картинки, оставляя чистый текст. Затем программа приводит слова к начальной форме: существительные — к именительному падежу единственного числа, глаголы — к инфинитиву. Это нужно для того, чтобы форма слова «купил» находилась и по запросу «покупать», и по запросу «куплю». Служебные слова вроде предлогов и союзов часто отсеиваются, если они не влияют на общий смысл фразы.
Финальный шаг этого этапа — создание инвертированного индекса. Поисковик строит гигантскую базу данных, где каждому уникальному слову сопоставлен список всех страниц, на которых оно встречается, вместе с точными координатами расположения внутри текста.
Что происходит за доли секунды после нажатия кнопки Поиск
Ты вводишь фразу в поисковую строку и нажимаешь Enter. В этот момент браузер отправляет сигнал на ближайший дата-центр компании. Начинается работа алгоритмов, разделенная на быстрые шаги.
- Исправление опечаток и раскладки клавиатуры при помощи анализа похожих популярных запросов
- Определение смысла фразы с учетом синонимов и географического положения пользователя
- Выборка подходящих страниц из инвертированного индекса по пересечению всех ключевых слов
- Ранжирование отобранных документов и построение готовой страницы выдачи
Поняв формулировку, сервер моментально достает из индекса список страниц, где есть все слова из запроса. Часто таких страниц набирается сотни тысяч или даже миллионы. Показать их в случайном порядке нельзя, поэтому в дело вступает система ранжирования.
Как алгоритмы ранжируют результаты
Ранжирование — это сортировка отобранных страниц по степени их полезности и соответствия запросу. В 1998 году основатели Google Ларри Пейдж и Сергей Брин придумали алгоритм PageRank. Он оценивал авторитетность страницы по количеству ссылок на нее с других сайтов: если на статью ссылаются крупные университеты и энциклопедии, ее текст заслуживает доверия.
В наши дни поисковые системы учитывают сотни различных параметров одновременно при помощи обученных нейросетей и алгоритмов машинного обучения. Специалисты разделяют эти параметры на несколько групп.
- Текстовое соответствие, показывающее наличие ключевых слов в заголовке, основном тексте и подписях к иллюстрациям
- Техническое качество сайта, включающее быструю скорость загрузки на смартфонах и наличие защищенного протокола https
- Поведенческие факторы, отражающие действия реальных людей на странице и время изучения найденного материала
- Региональная привязка, позволяющая жителю Екатеринбурга показывать местные адреса пиццерий, а жителю Казани — казанские
Формирование итоговой выдачи
Когда список из десяти или двадцати лучших адресов готов, система генерирует страницу результатов поиска. Для каждой ссылки создается сниппет — короткий заголовок с небольшим фрагментом текста, объясняющим суть найденной статьи.
Если вопрос простой и предполагает однозначный короткий ответ — курс валюты, погода за окном, дата исторического сражения или таблица футбольного чемпионата — алгоритм показывает специальный блок быстрых ответов прямо над ссылками. В Яндексе такие блоки называют колдунщиками, а в Google — расширенными сниппетами. Вся эта сложная цепочка вычислений занимает от одной десятой до трех десятых долей секунды.
Частые вопросы
Почему новый сайт появляется в поиске не сразу?
Роботам требуется время, чтобы обнаружить адрес нового ресурса по ссылкам, загрузить его страницы в очередь, обработать тексты и добавить слова в инвертированный индекс. Этот цикл обычно занимает от пары дней до двух недель.
Зачем поисковики учитывают историю моих прошлых запросов?
История помогает угадать контекст. Если программист пишет слово «питон», поисковик покажет материалы по языку Python, а если то же самое слово введет зоолог, система подберет статьи про пресмыкающихся.
Может ли сайт купить первое место в органической выдаче?
Попасть на верхние строчки бесплатной выдачи за деньги нельзя. Платные объявления всегда помечаются плашкой «Реклама» и размещаются в специальных рекламных блоках выше или ниже обычных результатов.
Что будет, если на сайте закрыть доступ файлом robots.txt?
Поисковый робот прочитает запрещающую инструкцию и пропустит указанные страницы. В результате эти документы не попадут в базу данных и пользователи не смогут найти их через поисковую строку.