close
menu
labrika
blog-icon
Октябрь 23, 2015

Как работают алгоритмы поиска

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

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

Процесс поиска включает в себя несколько этапов:

  • формирование информационного запроса;
  • определение всех возможных источников данных;
  • извлечение информации из найденных информационных массивов;
  • представление полученной информации пользователю для оценки результатов (поведенческие факторы).

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

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

В общем случае любая поисковая система строится по одному алгоритму. Она состоит из двух компонентов: программа, осуществляющая сбор информации и ее индексацию, и программный комплекс отбирающий данные по запросу пользователя и ранжирующий (сортирующий) их для вывода результата. Рассмотрим каждую часть поисковой системы подробнее.

Сбор информации и индексация

Поисковый робот – программа, осуществляющая основную функцию поисковой системы – поиск новых источников данных (страниц). Так как эта программа свободно перемещается по всемирной паутине, ее стали называть "пауком". Принцип действия "паука" достаточно прост: попадая на одну страницу, он ищет на ней ссылки на другие страницы и заходит на каждую из них, повторяя предыдущие действия. При этом, робот индексирует (сохраняет основные сведения о сайте в базе данных) и отправляет копию каждой найденной страницы в архив. Стоит понимать, что под словом "каждая" подразумевается страница, соответствующая параметрам поиска. Прежде чем попасть в индекс, новые страницы сайта проверяются на вирусы, технические ошибки и плагиат. Плохие страницы сразу отсеиваются. И, конечно, исходя из принципа работы "паука", очевидно, что чем больше ссылок на сайт (учитываются внутренние и внешние), тем быстрее он попадет в индекс.

Сбор информации и индексация

Помимо качественных проверок существуют количественные ограничения записи страниц в индекс. Поисковая система имеет ограниченные ресурсы и не может просканировать мгновенно или даже за месяц все сайты в интернете. Поэтому каждый сайт имеет "краулинговый бюджет" - количество страниц, которые поисковый робот может обойти за один раз, и максимальное число проиндексированных документов с данного сайта. Для крупных сайтов это может быть основной причиной задержки обновления данных в индексе. Наиболее действенным решением в этом случае является настройка sitemap.xml. Это специально разработанная карта сайта, предназначенная для направления работы "паука". В этой карте необходимо указывать, какие страницы сайта чаще всего обновляются, что более приоритетно добавить в индекс, на какую информацию поисковый робот должен обратить внимание, а что он уже проверял. 

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

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

Быстроробот – это программа-робот, занимающаяся индексацией часто обновляемых сайтов (блогов, новостных порталов, соц. сетей и т. д.). Таким образом, именно эта программа позволяет выводить на первые места самые свежие результаты в выдаче. Основное отличие между обычным роботом и быстророботом в том, что быстроробот не учитывает ссылки. Поэтому одна и та же страница может быть проиндексирована и обычным роботом и быстророботом.

Формирование выдачи

Рассмотрим вторую часть поисковой системы на примере Яндекса.

После того как пользователь ввел в строке поиска свой запрос, первым делом его обрабатывает "балансировщик нагрузки". Он автоматически распределяет запросы по кластерам (объединениям серверов). Этот этап важен для эффективного использования вычислительной мощности.

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

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

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

Также определяется тип запроса: коммерческий или информационный. Тип запроса непосредственно влияет на ранжирование. Если запрос информационный, например, "состав мороженого", то на первых местах в выдаче будут сайты с максимально полезной информацией для пользователя (интересный контент, естественные ссылки и т. д.). При коммерческом запросе, например "купить мороженое", поисковая система постарается показать в результатах коммерческие страницы.

Информация о типе запроса важна для правильной оптимизации сайта. Получить такие данные о запросе можно с помощью специальных сервисов, таких как Labrika

Также поисковые системы определяют специфические запросы, например, содержащие “отзыв”, “скачать”, “купить” и др. Для этих запросов важно не просто наличие ключевых слов на страницах, а возможность выполнения транзакции (“скачать”, “купить”), или реальных отзывов. То есть, если у конкурентов на сайте можно действительно купить/заказать товар или услугу, то просто наличие в тексте слова “купить”, скорее всего, не поможет. Для разных запросов те или иные факторы ранжирования (сортировки результатов поиска) могут иметь большее значение, чем для других, например, свежесть информации для новостей или наличие в имени домена названия бренда, для запросов информации именно о бренде.

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

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

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

Основная цель применения фильтров – это повышение качества поисковой выдачи. Фильтры поисковых систем постоянно совершенствуются, чтобы учитывать больше факторов полезности.

Некоторые наиболее известные фильтры:

  • Аффилиат-фильтр (Яндекс и Google);
  • АГС (Яндекс);
  • Минусинск (Яндекс);
  • Ты последний (Яндекс);
  • Пингвин (Google);
  • Панда (Google);

Им мы посвятили отдельную статью.

Все они направлены на борьбу со спамом и конкретными несовершенствами сайтов, но основные проблемы это: уникальность контента, регулярное обновление и качественные внешние ссылки.Существование фильтров заставляет оптимизаторов уделять больше внимания повышению качества сайта, его наполнению и дизайну, дабы попасть в ТОП.

Далее в Яндексе происходит ранжирование результатов алгоритмом Матрикснет. Впервые Матрикснет появился при создании поискового фильтра Снежинск. Целью создания алгоритма было повышение качества поиска, за счет увеличения критериев ранжирования.

Матрикснет – это алгоритм машинного обучения, который строит формулу ранжирования (распределения позиций) результатов поисковой выдачи. Данный алгоритм позволяет создать очень сложную формулу с учетом десятков коэффициентов для вывода наиболее релевантных результатов на первое место. При этом, главной особенностью Матрикснет является возможность отдельной настройки формулы для определенных видов запросов, без снижения качества работы по другим.

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

Основные параметры оценки поисковой системы

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

  • Полнота заключается в разнообразии представленных результатов. Например, если поисковая система не знает точно, что нужно пользователю по запросу "Сура" (есть такая река, а также город, спортивная команда), то поисковая система не знает, что именно ищет пользователь, и постарается выдать результаты под все наиболее частые варианты запросов. Поэтому борьба между сайтами при таких запросах идет не за ТОП-10, а за ТОП-5 или ТОП-3. Потому что остальные позиции отданы справочникам, картам, Википедии и т. д., а также сайтам из других категорий, которые отображаются для полноты поиска.

  • Удовлетворенность пользователя вычисляется достаточно просто: если после перехода на сайт пользователь не вернулся к выдаче для просмотра нового сайта, значит результат подходящий. Если вернулся, то поисковая система запоминает эту информацию и меняет формулу ранжирования с помощью машинного обучения и асессорской оценки. Асессоры – это специалисты, которые определяют, насколько полезен сайт, выбранный поисковым роботом. Оценка со стороны человека помогает машинному обучению постоянно улучшать формулу ранжирования - убирать из выдачи вредные или бесполезные сайты, формально подходящие под запрос.


Результат

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

Online SEO-инструменты для продвижения сайтов

Проверьте свой сайт и сайты конкурентов на 230 факторов поисковых систем.