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