1. Главная
  2. Статьи
  3. Вопрос-Ответ
  4. Новости
  5. Форум
  6. Вики
Вход   Регистрация

Биржа комментариев

СМС рассылки

Партнерские программы

Бесплатное продвижение сайтов

VPS хостинг

Кабель оптом

Качественный контент

Офисная мебель Проспект

Как устроены поисковые системы?

Для начала ответьте на вопрос: «Почему поиск файла на компьютере может занимать несколько минут времени, а поисковики в интернете находят все за одну секунду?».

В этой статье мы расскажем вам, как устроен Яндекс, как он ищет, а также как удается достичь столь минимального времени поиска.

Весь секрет поисковых машин в том, что они работают уже по заранее подготовленным данным. Что такое заранее подготовленные данные, думаю, понятны всем. Это как телефонный справочник, где все можно легко найти по фамилии, городу проживания и адресу абонента. В таком случае найти нужную информацию совсем несложно. А теперь представьте себе, что все данные упорядочены по номерам телефонов? В таком случае, понять что-либо и найти нужную информацию будет очень сложно. Вот представьте, звоните вы в справочную, а вам говорят: «Хорошо, мы найдем нужного вам абонента в течение недели». Это то, что касается заранее подготовленных данных.

Еще один пример. Раньше, когда не было персональных компьютеров, чтобы найти книгу в библиотеке, нужно было долго копаться в специальных библиотечных карточках. А если бы этих карточек не было? Поиск одной книги занимал бы еще большее время.

И, наконец, третий пример – это предметный указатель книги. Если хорошо присмотреться, то предметный указатель чем-то похож на почтовый индекс. Примерно также ищет и поисковая система, но есть ряд различий.

1. В поисковых индексах есть абсолютно все слова, а не только специализированные термины, которые встречаются в обычных предметных указателях. В книжках предметный указатель выносят только на обычные слова, при этом опуская предлоги, междометия и частицы. В поисковых индексах используются абсолютно все слова.

2. В поисковых индексах есть все упоминания слов. В предметном указателе книги дают ссылки на использование этих слов всего несколько раз. В поисковом индексе робот запоминает абсолютно любые упоминания, а также страницы, на которых они находятся, номера предложений и слов в этом предложении. А это очень важно для формирования выдачи. Плюс ко всему, у поисковых индексов есть еще куча преимуществ вроде морфологии, словоформ и т.д.

Как же ищет Яндекс по поисковому индексу? Например, задаем запрос (летит ужасный бармаглот и пылкает огнем). На рисунке вы можете увидеть, что перечислены все слова, а рядом с ними по 2 цифры. Первая цифра – это сколько всего таких слов в интернете, а вторая – это в скольких документах они употребляются.

Если мы посмотрим на слово «пылкает», то будет понятно, что это слово встречается в интернете 11 000 раз в 5 000 документах. А, например слово «и» встречает более 38 млрд. раз. В принципе, это все понятно и логично, ведь «и» - это союз, который очень часто используется в русском языке. Поисковый индекс находит списки всех документов, где эти слова употреблялись, а затем составляет выдачу, исходя из этих списков.

Самое интересное, что для выдачи необязательно просматривать все 38 млрд. использования союза «и», а достаточно лишь найти списки, где бы «и» использовалось совместно со словом «пылкает». Хотя обычно Яндекс подобные слова, которые очень часто используются вообще не ищет. Обычно Яндекс ищет по связкам более редко используемых слов.

Существует такое понятие, как поисковый сервер. На картинке представлена фотография самого первого поискового сервера Яндекс. Когда-то он обрабатывал все запросы пользователей, а разработчики радовались каждому новому посетителю.

Ведь в то время интернет был очень маленький. Как бы смешно это не звучало, но фраза вроде: «Скачаю интернет, а потом дома его почитаю – была вполне реальной». Тогда на одном таком поисковом сервере можно было вместить весь поисковый индекс интернета. Сейчас, конечно же, интернет разросся, и говорить о подобных серверах просто смешно. Сейчас уже используется понятие поисковый кластер.

Поисковый кластер – это когда весь интернет разделяется на определенные части, и каждая часть помещается на определенный сервер. Бывает такое, что одна часть сайта находится на одном сервере, а вторая часть сайта на другом. У Яндекса есть крупный отдельный сервер «Металпоиск».

Как же происходит поиск? Вы вбиваете поисковый запрос в Яндекс. Сервер Яндекса фиксирует этот запрос, а затем раздает тысячам более мелким серверам. Каждый сервер ищет по своему фрагменту. Затем фрагменты собираются в единое целое на крупном сервере и выдаются пользователю на экране. Сервер, который разбивает запрос, называется «Металпоиск», а более мелкие сервера – «базовым поиском».

Далее Анатолий рассказал, как устроены дата-центры Яндекса.

Раньше Яндекс по своей традиции использовал буквы старорусского алфавита для нумерации мелких серверов, позже закончились буквы не только старорусского, но и латинского алфавита. Сейчас же Яндексу пришлось отклониться от традиций и просто нумеровать сервера.

Далее разъясним, что такое реплики и дата центры. Основное правило оргтехники, чем ее больше, тем чаще она ломается. Если у Яндекса вылетят из строя несколько машин, то вы просто-напросто не сможете найти некоторые нужные вам запросы. Для того чтобы подобных ситуаций не возникало в Яндексе используют дублирующие машины, которые и называются репликами. Если одна из машин выходит из строя, то тут же включается резервная машина, которая помогает сохранить полную работоспособность системы. Данный процесс называется репликацией. Подобная репликация существуют и между всеми дата-центрами компаниями. В случае, когда полностью вылетает весь дата-центр (комната, в которой находятся все сервера), то тут же включается резервный дата-центр.

Многим известно, что сервера в интернете нумеруют, а не дают им названия. Если вы вводите название любого сайта, то на самом деле вы попадаете на его IP-адрес. У сайта Яндекса существует аж 4 IP-адреса, по каждому на дата-центр. В любом дата-центре есть специальный механизм, который балансирует нагрузки и посылает ваш запрос, на самый незагруженный сервер. При этом балансировщик старается действовать локально. И лишь в случае, когда свободных машин в одном дата-центре нет, то он переправляет ваш запрос в соседний дата-центр.

Как появляется индекс? Для этого в Яндексе есть специальный робот, который занимается тем, что подготавливает все индексы, а затем выкладывает их на поиск.

Как работает робот? Робот работает достаточно просто. Он скачивает все содержимое сайтов, разделяет их на индексы, которые позже выкладывает на поиск. Поэтому информация в поисковике Яндекса обновляется не мгновенно, а через несколько дней.

О роботе можно говорить сколь угодно долго, но хочется отметить, что создать телефонный справочник очень легко, достаточно лишь отсортировать телефонные номера. С поисковыми индексами все не так просто, как кажется.

Начнем с того, что интернет бесконечен. На самом деле многие с этим не согласятся, но это факт. Каждый может создать свой сайт, который будет содержать определенную страницу под определенным номером, а под определенным номером он будет выдавать определенную страницу. Понятное дело, что при бесконечном числе страниц, которые создавались людьми, очень много мусора. Задача робота отсеивать мусор, отбирая только нужную и полезную для пользователя информацию.

Вторая проблем у роботов – это меняющиеся сайты. Робот видит на сайте одно, заходит на этот сайт. Сайт перебрасывает его на совсем другой контент. В таком случае робот опять же должен отсеивать подобные сайты.

Также робот обязан следить за спамовыми сайтами, которые постоянно пытаются обмануть систему, искусственно забравшись в верхушку по выдаче.

В завершение, в этой статье ответим на самые часто задаваемые вопросы.

1. Как связан Яндекс.Каталог с очередью в поиске? Будут ли какие-то преимущества, если зарегистрировать свой сайт в каталоге Яндекса? Да, будут, по той причине, что сайт в каталоги вбивают живые люди, поэтому у робота с помощью каталога будет гораздо больше информации о вашем сайте. В любом случае, для SEO это полезно.

2. Почему поисковик иногда отвечает по-разному на один и тот же запрос? По той простой причине, что поисковики ориентируются на то, чтобы дать пользователю полезную информацию. Поэтому варианты ранжирования сайтов для разных пользователей могут быть разными.

3. Как сайты разбиваются на кластеры? Нельзя сказать, что сайты разбиваются на кластеры. На кластеры разбиваются странички сайтов. Все это делается для того, чтобы уменьшить нагрузку на поисковую систему. В одно время у Яндекса был один баг. Если пользователи искали Рамблер через Яндекс, то часто не могли его найти. А все было в том, что весь Рамблер лежал на одной машине. И когда много пользователей обращались к этой машине, то, естественно, что время ее отдачи увеличивалось, и пользователи не могли увидеть Рамблер в поисковике. Позже этот баг починили, распределив на каждый сервер по кусочку сайта.

4. Что значит «кусочки интернета» или «кусочки сайта»? Сегодня есть такое понятие, как шардирование (шард – кусочек интернета). У Яндекса шардирование происходит примерно на 10 файлов.

5. Как робот находит новые сайты? Робот находит новые сайты по всем возможным источникам. Робот просматривает ссылки, оставленные на других ресурсах, которые уже были проиндексированы. Также в поисковиках существует такая кнопка, как «Добавить свой сайт».

6. Какие приоритетные сайты к более частому индексированию у роботов? Тут все просто, чем чаще обновляется сайт, тем чаще его индексирует робот. Но стоит понимать, что поисковые роботы не успевают индексировать все сразу, поэтому им приходится выбирать индексации сайтов по их степени полезности.

Категория статьи: Веб-программирование | Просмотров: 1206 | Добавлена: 02.04.2014

Почему Вы еще не прокомментировали?
Оставьте свой комментарий! Весь Интернет уже заждался!

Ваше Имя Муж. Жен. Как Вас величать?
Антиспам защита

– Напишите название этого сайта по-русски
(если Вы не в курсе, сайт называется "РапидАп")

Текст комментария
 
О сайте ⋅  Контакты