Общий принцип работы любой поисковой системы условно можно разделить на следующие этапы:
Происходит сбор информации. Специальная программа сканирует веб-пространство, открывает каждый доступный для неё сайт и анализирует его по заданным алгоритмам.
Все документы закачиваются на сервер поисковой системы и создается база данных, которая содержит информацию о сайте.
На основе полученных по сайту данных проводится построения индекса. То есть определяется, какие данные на нём содержатся, к какой группе запросов относятся данный контент их можно отнести и так далее.
Программа определяет релевантность страницы, в момент, когда она получает пользовательский поисковый запрос, на его основе предоставляет перечень сайтов, которые по результатам индексирования содержат запрашиваемую информацию.
Сервис проводит ранжирование результатов выдачи. То есть выстраивает порядок ссылок, которые будут показаны пользователю, отправившему запрос.
Поисковые системы бывают нескольких подвидов и существуют и другие вариации таких сервисов:
управляемые человеком (то есть каталог сайтов, каждый пункт которого и общая их база данных сформированы вручную пользователем, яркий пример каталог Rambler);
гибридные поисковые системы (где часть работы выполняет человек, часть – программа, принцип работы поисковой системы Google как раз таковой);
мета-системы (которые не составляют базу данных, а дают результат сразу из нескольких поисковых сервисов пример Vivisimo)
Каждый этап, описанный выше, выполняется отдельной программой (или их комбинациями), являющимися «составляющими» алгоритмов поисковых систем. Рассмотрим их более подробно.
1) Spider (паук)
Робот закачивающий веб страницы на сервер, он скачивает интернет-сайт, что в дальнейшем будет проиндексирован. Причем, загружает он все страницы и готовит полученные данные для анализа следующей программой. Если пользователя на загружаемом сайте интересует только контент (текст, картинки, мультимедиа), то spider работает именно с исходным кодом и html документами.
2) Crawler
Данная программа автоматически открывает и анализирует все ссылки, которые ей удается найти на сайте (в архиве, предварительно подготовленном с помощью Spyder (Паука). Это позволяет в дальнейшем составить «дерево» адресов, а также обнаружить точные ссылки, которые будут предоставляться в ответ на поисковые запросы.
3) Indexer
Программа которая проводит индексацию, всех полученных данных от Spider и Crawler. То есть делит загруженную страницу на составные части (по html-тегам) и формирует список данных, которые здесь представлены.
4) Database.
На основе информации, полученной после индексации, формируются две раздельные базы данных. Первая – это «дерево» сайта с его мета-тегами. В дальнейшем она используется при выполнении повторной индексации. То есть вместо того, чтобы повторно изучать сайт, выполняется сверка «деревьев» – так поисковый сервис определяет, вносились ли какие-то изменения на анализируемый веб-ресурс. Вторая база данных – это результаты индексации. Та самая информация, на основе которой определяется условный рейтинг сайта, а также составляется перечень поисковых запросов, в ответ на которые можно предоставить ссылку.
5) Search Engine Results Engine.
Алгоритм, который выполняет окончательное ранжирование сайтов при получении конкретного поискового запроса. Именно этот алгоритм выбирает ссылки, которые будут показаны пользователю, а также определяет режим их сортировки с 1 места по 10 место, и так 100 места.
6) Web server.
Сервер, на котором хранится сайт поискового сервиса. Именно его открывает пользователь, там же он вводит свой запрос и просматривает результаты выдачи.
Процесс работы поисковых систем тоже состоит из нескольких этапов.
1) Сбор данных. После создания сайта и получения на него ссылки, система автоматически анализирует его с помощью инструментов Spyder и Crawling. Информация собирается и систематизируется из каждой страницы.
2) Индексация. Она выполняется с определенной периодичностью. И по её прохождению сайт добавляется в общий каталог поисковой системы. Результат этого процесса – создание файла индекса, который используется для быстрого нахождения запрашиваемой информации на ресурсе.
3) Обработка информации.
Система получает пользовательский запрос, анализирует его. Определяются ключевые слова, которые в дальнейшем и используются для поиска по файлам индекса. Из базы данных извлекаются все документы, схожие на пользовательский запрос.
4) Ранжирование.
Из всех документов, отобранных для выдачи, составляется список, где каждому сайту отведена своя позиция. Выполняется на основании ранее вычисленных показателей релевантности. На этом этапе принцип работы поисковых систем немного разнится. Формула ранжирования – тоже уникальна, но ключевые факторы, влияющие на релевантность сайта, следующие:
индекс цитируемости (как часто сторонние ресурсы ссылаются на информацию из конкретной страницы);
авторитетность домена (определяется на основании его истории изменения);
релевантность текстовой информации по запросу;
релевантность иных форматов контента, представленных на странице;
качество оптимизации сайта.
Постоянная индексация и ранжирование – это основной принцип работы поисковых интернет систем. А за написание алгоритмов и программ, которые выполняют большую часть всей этой работы, отвечают тысячи программистов. Именно благодаря их работе каждый пользователь за несколько секунд может отыскать в веб-пространстве необходимую для него прямо сейчас информацию.