Поля Блю.
SEO для Чайников.
Практический курс по продвижению сайтов в поисковых системах.
Глава 1.
«Архитектура поисковых систем. Матрикснет»
План:
Яндекс
1.1. Архитектура ответа на вопрос
1.2. Индексирование интернета
1.3. Поисковая база
1.4. Язык запросов
1.5. Оценка качества поиска
1.6. Колдунщики
1.7. Роботы ПС Яндекс
Матрикснет
3.1. Основные сведения о Google
3.2 Архитектура Google
3.3 Роботы Google
3.4 Оценка качества ресурсов
3.5 Специальные поисковые запросы
1. Яндекс
1.1. Архитектура ответа на вопрос
Каждый день пользователи задают Яндексу десятки миллионов запросов, и поисковая система должна не только точно отвечать, но и быстро обрабатывать весь этот поток. Для этого Яндекс использует заранее подготовленные данные — индекс.
Безусловно, поиск с помощью индекса ускоряет процесс ответа пользователю, как, например, предметный указатель в книге помогает быстрее найти нужное слово. Но размеры самого «предметного указателя» в поиске — огромны. Чтобы обрабатывать такие объемы данных и делать это быстро, Яндекс использует тысячи серверов. Сервера объединены в кластеры и даже в кластеры кластеров.
Рис. 1. Архитектура ответа на вопрос в ПС Яндекс.
Все пользовательские запросы сначала попадают в компьютерную систему «метапоиск» (рис. 1).
«Метапоиск» обрабатывает каждый запрос в реальном времени — выясняет все необходимые данные про запрос (из какого региона он был задан, к какому классу относится и т.п.), проводит лингвистическую обработку. Затем метапоиск проверяет, формировались ли в последнее время результаты поиска для этого запроса. Результаты поиска по часто задаваемым запросам некоторое время хранятся в памяти метапоиска, а не формируются каждый раз заново. И если вновь пришедший запрос оказался популярным, метапоиск покажет пользователю заранее сохраненные результаты.
Если же ответа в памяти нет, то метапоиск передаёт запрос на сервера другой компьютерной системы — «базового поиска» (рис. 1).
На базовом поиске хранится слепок интернета, по которому ищет Яндекс, — поисковая база. Она разбита на части, которые хранятся на разных серверах — искать ответ одновременно по нескольким частям базы данных быстрее, чем по всей базе целиком. Кроме того, у каждого сервера есть несколько копий. Это позволяет распределять нагрузку и не терять данные — если один из серверов не сможет своевременно ответить, информация всё равно найдется на дублирующих серверах. Из тысяч серверов базового поиска метапоиск выбирает наименее загруженные – таким образом, чтобы вместе они содержали целую поисковую базу.
Каждый из серверов отдаёт список документов, в которых есть слова из запроса, обратно в метапоиск. Там они объединяются, ранжируются с помощью технологии Матрикснет и попадают на страницу результатов поиска (рис. 1).
Благодаря такой организации поиск Яндекса может отвечать пользователю за доли секунды.
1.2. Индексирование интернета
1.2.1. Понятие индекса
Поисковая машина Яндекса отвечает на вопросы пользователей, находя нужные документы в интернете. А размеры современного интернета исчисляются в экзабайтах, то есть в миллиардах миллиардов байтов. Конечно же, Яндекс не обходит весь интернет каждый раз, когда ему задают вопрос. Поисковая система, так сказать, делает домашнее задание.
Яндекс ищет по поисковому индексу — базе данных, где для всех слов, которые есть на известных поиску сайтах, указано их местонахождение — адрес страницы и место на ней. Индекс можно сравнить с предметным указателем в книге или адресным справочником. В отличие от обычного предметного указателя, индекс содержит не только термины, а вообще все слова. А в отличие от адресного справочника, у каждого слова-адресата есть не одно, а очень много «мест прописки».
1.2.2. Подготовка к ответам
Подготовка данных, по которым ищет поисковая машина, называется индексированием. Специальная компьютерная система — поисковый робот — регулярно обходит интернет, выкачивает документы и обрабатывает их. Создается своего рода слепок интернета, который хранится на серверах поисковика и обновляется при каждом новом обходе.
У Яндекса два поисковых робота — основной и быстрый (он называется Orange). Основной робот индексирует интернет в целом, а Orange отвечает за то, чтобы в поиске можно было найти самые свежие документы, которые появились минуты или даже секунды назад. У каждого робота есть список адресов документов, которые нужно проиндексировать.
Когда при обходе робот видит на уже известных сайтах новые ссылки, он добавляет их в свой список, увеличивая количество индексируемых страниц. Впрочем, владелец сайта сам может помочь основному роботу Яндекса найти свой ресурс и подсказать, например, как часто обновляются его страницы — через сервис Яндекс.Вебмастер.
Сначала программа-планировщик выстраивает маршрут — очередность обхода документов. При этом планировщик учитывает важные для поисковой системы характеристики сайтов, такие как, например, цитируемость или частота обновления документов. После создания маршрута планировщик отдаёт его другой части поискового робота — «пауку». Паук регулярно обходит документы по заданному маршруту. Если сайт на месте, то есть работает и доступен, паук выкачивает запланированные в маршруте документы. Он определяет тип скачанного документа (html, pdf, swf и т.п.), кодировку и язык, а затем отправляет данные в хранилище.
Там программа разбирает документ по кирпичику: очищает от html-разметки, оставляя чистый текст, выделяет данные о местоположении каждого слова и добавляет их в индекс. Сам документ в исходном виде также остается в хранилище до следующего обхода. Благодаря этому пользователи могут найти в Яндексе и посмотреть документы, даже если сайт временно недоступен. Если сайт закрылся или документ был удалён или обновлён, Яндекс удалит копию со своих серверов или заменит её на новую.
1.3. Поисковая база
Поисковый индекс, данные о типе документов, кодировке, языке и сохраненные копии документов вместе составляют поисковую базу. Она обновляется постоянно, но, чтобы это обновление стало доступно пользователям, её нужно перенести на «базовый поиск». Базовый поиск — сервера, которые отвечают пользователям на запросы. Туда переносится не вся поисковая база, а только её полезная часть — без спама, дубликатов сайтов (зеркал) и других ненужных документов.
Обновление поисковой базы из хранилища основного робота попадает в поиск «пакетами» — раз в несколько дней. Этот процесс создаёт дополнительную нагрузку на сервера, поэтому производится ночью, когда к Яндексу обращаются на порядок меньше пользователей. Сначала новые части базы помещаются рядом с такими же частями из прошлого обхода. Затем они проверяются по целому ряду факторов, чтобы обновление не ухудшило качество поиска. Если проверка прошла успешно, новая часть базы заменяет собой старую.
Робот Orange предназначен для поиска в реальном времени. Его планировщик и паук настроены так, чтобы находить новые документы и выбирать из огромного их количества все, хоть сколько-нибудь интересные.
Можно сказать, что поиск в интернете состоит из двух больших частей. Первая — когда Яндекс ищет различные документы в интернете и составляет поисковый индекс. Вторая — когда система ищет ответ на конкретный запрос пользователя в уже подготовленной поисковой базе.
1.4. Язык запросов
Яндекс обладает мощным языком запросов, позволяющим наиболее точно формулировать свой запрос поисковой системе, учитывая малейшие нюансы ее поведения. Наиболее популярные критерии поиска можно задавать с помощью расширенного поиска, знание же языка запросов дает возможность решать самые сложные поисковые задачи.
1.5. Оценка качества поиска
Яндекс стремится находить ответ на запрос пользователя, предоставляя на странице результатов информацию и ссылки на нее в интернете. Следование рекомендациям Яндекса по созданию качественного сайта, поможет в индексировании и лучшем ранжировании ресурса, в то время как применение обманных техник может привести к понижению его позиций или исключению его из поиска.
1.5.1. Основные принципы качественного сайта (по мнению ПС Яндекс):
Создавайте сайты с оригинальным контентом или сервисом. Реклама не является той ценностью, ради которой пользователи приходят на сайт.
Думайте о пользователях, а не о поисковых системах. Стали бы вы создавать сайт, страницу или ее элемент, если бы не существовало поисковиков? Приходят ли пользователи на ваш сайт или интернет-магазин не только из поисковых систем?
Ставьте только те ссылки, которые будут полезны и интересны пользователям вашего ресурса. Не ссылайтесь только потому, что вас попросили сослаться.
Тщательно продумайте дизайн — он должен помогать пользователям увидеть главную информацию, ради которой сайт создан.
Будьте честны. Привлечь пользователей по запросам, на которые ваш сайт не может достойно ответить, не значит удержать их. Думайте о том, что пользователь получит, придя на Ваш сайт.
1.5.2. Метрика pfound
Имея ранжированную страницу с результатами поиска, где все URL оценены асессорами, ПС Яндекс оценивает качество поиска с помощью специальной метрики pfound. Она вычисляет вероятность того, что человек нашел то, что искал на странице выдачи, суммируя такие вероятности для разных URL — каждой из четырех оценок асессора присвоена своя вероятность полезности.
, где pRel — релевантность i-того документа (вероятность того, что пользователь найдет ответ в этом документе), pLook — вероятность просмотра i-того документа в выдаче.