Как работает поисковый индекс – Как работают поисковые системы — сниппеты, алгоритм обратного поиска, индексация страниц и особенности работы Яндекса

Содержание

Как работают поисковые системы Яндекс и Google?

Продвижение сайта своими руками является одновременно простой и сложной задачей. Для человека опытного в этой теме раскрутка представляет собой набор простых и четких шагов, сводящихся, в большей степени, к механических действиям. Но для новичка, который только вчера узнал слово SEO и еще не разобрался в его значении, «победить» поисковые системы и конкурентов практически нереально.

Прежде чем приступить к продвижению, необходимо понять, как работают поисковые системы Яндекс и Google. Можете считать эту статью вводной для моего курса по продвижению сайтов “Бесплатный трафик с Поисковиков”, поэтому рекомендую дочитать ее до конца, прежде чем начнете его изучать.

Задача поисковых систем

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

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

Как действует поисковая система?

Поисковик – это набор сложных программ и баз данных, которые действуют по определенному алгоритму. Упрощенно, этот алгоритм можно разбить на 3 этапа.

Этап 1. Поиск новых страниц

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

Задача поисковика на этом этапе заключается в поиске всех возможных адресов страниц в интернете. Выполняет эту работу так называемый робот «паук». Интернет это ссылки, ссылки и еще раз ссылки и этот «паук» просто переходит по всевозможным ссылкам, записывая в свою базу адреса всех найденных страниц.

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

Прекрасно помогают роботам для ориентирования файлы Robots.txt и карты сайта Sitemap.xml, их надо обязательно сделать, особенно, если сайт имеет много страниц. Тут смотрите, как правильно сделать Robots для WordPress, а про настройку Sitemap расскажу чуть позже.

Задача робота создать адресный справочник по типу – Город, Улица, Дом, Квартира.

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

Этап 2. Индексация

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

Называется этот процесс индексация – попадание информации в индекс поисковой системы.

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

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

Этап 3. Определение релевантности и ранжирование

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

Когда в поисковике задается запрос, система начинает искать на него ответ в наполненной базе знаний по критериям, заданным человеком в этом запросе (как узнать самые популярные запросы в Яндексе).

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

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

Факторы, влияющие на ранжирование

Как я уже сказал выше, факторов, влияющие на порядок расстановки страниц сайтов в выдаче поисковой системы много, по словам руководителей Яндекс, их более 700. Цифра внушительная и раскрыть их все не представляется возможным. Более того, все эти факторы неизвестны ни одному сеошнику, так как поисковики держат их в тайне. Но в общих чертах эти факторы можно разделить на три группы.

1. Внутренние факторы

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

2. Внешние факторы

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

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

3. Поведенческие факторы

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

Почему Яндекс долго индексирует сайты

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

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

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

Таким образом, некоторые страницы могут ждать своей очереди довольно долго.

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

Как работают поисковые системы: особенности работы Яндекса

Приветствую всех читателей блога int-net-partner.ru. А вы никогда не задумывались о том, "Как работают поисковые системы?", «Что такое сниппет?», интересно? Тогда читайте статью до конца!

Я решил написать полезную всем статью как начинающим, так и «бывалым» пользователям Интернета, блоггерам. Как многие уже знают, что основная доля трафика идёт с Яндекса и Гугла, и следовательно, чтобы этот трафик шёл к нам, нужно подружиться с ними, узнать «чем они дышат» :).

Что такое сниппет?

Так что же такое сниппет для сайта и почему для оптимизатора его содержимое очень важно?


data-ad-client="ca-pub-8243622403449707"
data-ad-slot="1319308473"
data-ad-format="auto">

Сниппет — это описание статьи, которое находится под ссылкой на найденный документ.

Если текст из ссылки на статью берётся из мета -тега Title, то сниппет формируется автоматически из статьи ( берутся куски, отдельные фразы), в зависимости от поискового запроса. Какие фрагменты статьи брать — решает поисковик, специально разработанный алгоритм.  Интересно ещё и то, что при разных поисковых запросах сниппеты будут разные!

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

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

Для того, чтобы заполнить содержимое тега Description, Title,  используйте плагин All in One SEO Pack, как с ним работать я писал здесь.

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

Цель оптимизации — поднять статью в топ выдачи поисковых систем, т.е. сделать страницу релевантной данному поисковому запросу.

Это и есть работа оптимизаторов. Пока алгоритмы поисковых систем не совершенны, оптимизаторы будут «помогать» поисковикам поднять страницу в топ. Но зачастую такая «помощь» мешает алгоритму сделать выдачу, релевантную данному запросу.

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

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

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

Итак, приступим. В чём же всё — таки заключается принцип работы поисковых систем? Принцип работы у всех поисковых систем одинаковый: собирается информация со всевозможных страниц, особым образом обрабатывается, чтобы можно было удобно вести поиск. Ну, это если совсем в общих чертах.

Давайте внесём такой термин как документ.

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

А теперь остановимся на способах (алгоритмах) поиска информации в собранной поисковиками базе страниц сайтов (документов).

Способы прямых и обратных индексов

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

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

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

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

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

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

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

Модель ранжирования

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

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

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

Следует заметить, что математическая модель не идеальна в плане сортировки страниц по определённому запросу (по релевантности) и этим неплохо пользуются оптимизаторы, оказывая влияние на ранжирование документов  в поисковой выдаче.

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

Для расчёта веса документа по заданному запросу в базовой векторной математической модели ранжирования используются 2 параметра: частота, с которой в документе встречается данное слово (TF — term frequency) и  то, насколько редко встречается данное слово во всех страницах, известных поисковой системе (IDF — inverse document frequency).

А умножив эти параметры друг на друга, получим вес документа (вебстраницы) по данному поисковому запросу.

Конечно, кроме этих двух параметров TF и IDF поисковики используют ещё множество коэффициентов, но суть остаётся прежней: чем чаще слово из поиска встречается на странице и чем реже на всех остальных проиндексированных вебстраницах поисковиком, тем вес её будет больше. Но здесь следует заметить, что слишком частое количество повторений поискового слова в документе может быть расцениваться спамом.

Асессоры. Оценка качества работы формулы

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

Вот  именно для контроля математической модели ранжирования и существуют люди — асессоры, которые просматривают поисковую выдачу определённой поисковой системы (которая их наняла) и оценивают качество работы формулы.

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

А вот видео, из которого вы можете подробнее узнать об асессорах Яндекса:

Основные критерии оценки работы формулы:

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

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

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

Сколько страниц может проиндексировать Яндекс?

Яндекс, как никто другой, заинтересован, чтобы пользователь получал разнообразную информацию. Но Яндекс допускает в выдаче второго документа с того же Интернет — ресурса. Это является исключением из правил, но если страница уж очень «хороша» или по-другому релевантна, то и исключение можно сделать. Поэтому возможен случай, когда две страницы одного и того же сайта попадут в топ по определённому поисковому запросу. Вот так.

Яндекс старается индексировать равномерно все сайты, но как быть, если нужно проиндексировать не одну, а сто, тысячу, или несколько десятков тысяч страниц?

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

Так для доменов второго уровня, например, int-net-partner.ru, максимальное число страниц, которое Яндекс может проиндексировать находится в диапозоне от 100 до 150 тысяч (в зависимости от отношения к данному домену).

Для доменов третьего уровня от 10 до 30 тысяч вебстраниц.

А что делать, если вам нужно будет проиндексировать, например, 500000 страниц? Я думаю, единственным выходом будет создание множества поддоменов.

Поддомены для домена второго уровня выглядят так: seo.int-net-partner.ru. Их количество, которое может проиндексировать Яндекс находится в диапозоне от 200 до 1000. Поэтому этим способом можно загнать несколько миллионов страниц сайта.

Отношение Яндекса к сайтам, не находящемся в зоне RU,SU, UA

В первую очередь, если вы только создали домен, Яндекс индексирует русскоязычные домены, это домены в зонах ru, su, ua. Все остальные домены индексируются не ранее чем через месяц.

Доменная зона только влияет на время, которое потребуется, до начала первой индексации страницы. На частоту индексации доменная зона влияния не оказывает.

Вот приблизительно как работает поисковая система в плане частоты индексации:

  1. Робот находит страницу, индексирует её, заходит на неё на следующий день.
  2. Робот сравнивает её с тем, что было вчера и если не находит отличий, то зайдёт на неё через три дня.
  3. И если на этот раз изменений в странице робот не найдёт, то зайдёт на неё через неделю и т.д.

Ну вот и всё, что я хотел вам рассказать (итак много получилось), теперь вы знаете как работают поисковые системы.

P.S. 

Как вам статья? Рекомендую получать свежие статьи блога на e-mail, чтобы не пропустить много новой интересной информации!

С уважением, Александр Сергиенко

Построение индекса для поисковой машины / Habr

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

В предыдущих статьях я рассказывал про работу поисковой машины, вот и дошел до сложного технически момента. Напомню что разделяют 2 типа индексов – прямой и обратный. Прямой – сопоставление документу списка слов в нем встреченного. Обратный – слову сопоставляется список документов, в которых оно есть. Логично, что для быстрого поиска лучше всего подходит обратный индекс. Интересный вопрос и про то, в каком порядке в списке хранить документы.

На предыдущем шаге DataFlow от модуля-индексатора мы получили кусочек данных в виде прямого индекса, ссылочной информации и информации о страницах. Обычно у меня он составляет около 200-300mb и содержит примерно 100 тысяч страниц. Со временем я отказался от стратегии хранения цельного прямого индекса, и храню только все эти кусочки + полный обратный индекс в нескольких версиях, чтобы можно было откатиться назад.

Устройство обратного индекса с виду, простое, – храним файл, в нем в начале таблица адресов начала данных по каждому слову, потом собственно данные. Это я утрировано. Так получается самый выгодный для оптимизации скорости поиска формат — не надо прыгать по страницам — как писали Брин и Пейдж, — 1 seek, 1 read. На каждой итерации перестроения, я использую 20-50 кусочков информации описанных выше, очевидно загрузить всю инфу из них в память я не могу, тем более что там полезно хранить еще кучу служебных данных об индексе.

Чтобы решить и эту, и много других проблем связанных с ограничениями ФС, диска, параллельным доступом к нескольким спискам страниц, я разбил весь индекс на 256 частей. В часть I попадают списки страниц для слов WORD_ID%256=I
Таким образом делим индекс на примерно равные части. Кроме того вся обработка на очередной итерации перестроения индекса связана только в рамках одной части. Т.е. из 20-50 кусков БД по 200-300 Mb необходимо загрузить только те данные, которые связаны со словами, попадающими в обрабатываемую часть.

Итого: делаем 256 повторений одной и той же процедуры:

  1. читаем нужные данные из входных кусков БД, предварительно загрузив всю информацию о словах, страницах и Url страниц. В памяти сортируем, делаем списки правильной структуры. Упаковываем инфу о странице и добавляем ее ID, HASH и другие данные.
  2. открываем баррель (я обозвал так куски индекса) обратного индекса «крайней версии» для чтения. Открываем пустой баррель «новой версии» индекса для записи.
  3. Для каждого слова по порядку сливаем 2 списка – один построенный сортированный в памяти, а другой читаемый и уже отсортированный в файле.
  4. Закрываем, дописываем все что надо, радуемся.

На практике естественно оказалось, что тот список, который уже хранится в «предыдущей версии» индекса оказывается отсортированным при новой итерации только тогда, когда никакая внешняя информация о страницах не менялась, а это очевидно не так.

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

Я использую совмещенный коэффициент, построенный из общей информации о слове на странице (кол-во встреч; место встречи – title, meta, ссылки, текст; выделение, форматирование), из метрик тематичности (пока что они развиты у меня весьма слабо), из PR, из пословного PR (PR по каждому слову у меня тоже есть) и некоторых других.

Причем очевидно, что при высокочастотных запросах, нам реально нужны дай бог первая 1000-2000 результатов в списке, для верности будем считать 262 тысячи. Т.к. все популярные ответы очевидно попадут в них, а дальше на них можно запускать уже функцию ранжирования которая как следует их отсортирует.
При низкочастотных запросах, когда нам реально нужны 2-3-10 результатов, без полного прохождения индекса не обойтись, однако и общая длина списка страниц редко когда будет больше 100 тысяч.

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

  1. запоминаем какие PR сильно изменились при пересчете
  2. грузим первые N тысяч из списка+немного из остатка по критериям PR, метрики страницы и другой эвристике
  3. туда же грузим из входных данных нужную порцию о словах текущего барреля
  4. только для выделенных страниц уже обновляем все данные на корректные, новые – PR, метрики
  5. сортируем сотню тысяч результатов, вместо пары десятков миллионов и уже в памяти
  6. пишем отсортированное, а остальное просто копируем из предыдущего индекса удаляя дубли

Ну и конечно надо иметь функцию «обновить целиком» когда раз в месяц-полгода, к примеру, индекс будет перестраиваться весь самым простым прямым алгоритмом

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

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

Поисковый индекс: понятие и разновидности

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

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

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

индексация сайта

Выделяют два различных способов индексации – автоматический и ручной

При автоматической индексации все работы по выбору индексируемых страниц и их занесением в индексную базу выполняют программы.

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

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

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

Похожее

Из чего состоит и как работает поисковая система Яндекс и Google?

Из чего состоит и как работает поисковая система Яндекс и Google?

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

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

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

История развития поисковиков: не путайте Wandex и Yandex!

Начнем с истории: первый в мире поисковик в WWW появился в 1993 году, и это был Wandex. Не путайте с Яндексом. После него появились Aliweb, Webcrawler, Lycos, Altavista, Рамблер, Google и только потом Яндекс.

Первым именно российским поисковиком был Рамблер. Сейчас Рамблер все еще существует, но для поиска использует движок Яндекса. На его долю приходится около 1% от всех поисковых запросов.

Самой популярной поисковой системой в России на момент подготовки статьи является Яндекс, который используют для поиска информации около 61% россиян по данным РБК. На втором месте по количеству пользователей в России идет Google – около 26%, но в последнее время процент пользователей Google растет. Обе поисковые системы были запущены в 1997 году, но в Россию Google пришел гораздо позже (официально – в 2006 году).

Перейдем к вопросу, как устроена и как работает поисковая система

Поисковая система состоит из трех основных элементов:

1. Роботы-пауки (агенты, роботы, обходящие все интернет пространство, и сканирующие сайты)

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

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

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

2. Индекс (база документов и дополнительных параметров в обработанном виде)

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

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

3. Поисковый алгоритм (механизм, который позволяет формировать выдачу)

Когда в поисковую систему поступает запрос, алгоритмы поисковой системы обрабатывают его. В обработанном виде он поступает дальше в систему.

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

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

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

Что такое машинное обучение?

Поисковая система Яндекс создает формулы для ранжирования сайтов на основе машинного обучения.

Очень упрощенно данную систему можно представить так:

  • В программу машинного обучения загружаются факторы, по которым осуществляется ранжирование документов, и отранжированные результаты поиска по множеству запросов. Программа ищет закономерности между результатами поиска и факторами «хороших» и «плохих» страниц. Найденные закономерности включаются в формулу ранжирования. Например, если на всех «хороших» сайтах фон был синим, а на всех «плохих» – желтым, то программа может заложить в формулу повышение позиций страниц с синим фоном и занижение позиций страниц с желтым фоном.
  • Полученные формулы тестируются, и разработчики по определенным параметрам определяют, улучшилось качество поиска по новым формулам или нет.
  • Если качество поиска повысилось – формулы загружаются в основной поиск и начинают обрабатывать пользовательские запросы.

Резюме: как работает поисковик?

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

В данный момент при ранжировании сайтов поисковая система Google учитывает более 200 факторов, а поисковик Яндекс - более 800 факторов. Все они подразделяются на группы: технические, доменные, текстовые, ссылочные, региональные, поведенческие, коммерческие, юзабилити и ряд других.

Читайте также:

Рекомендуем

16 способов получения внешних ссылок на сайт

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

Как составить план оптимизации и продвижения сайта?

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

Как работает Google Поиск? / ua-hosting.company corporate blog / Habr

Как работает Google Поиск, основные алгоритмы обновлений

В наше время поисковые системы, в частности Google, напоминают «витрину» Интернета и являются наиболее важным каналом распространения информации в цифровом маркетинге. С помощью глобальной рыночной доли, которая составляет более 65% по данным за январь 2016 года, Google явно доминирует в поисковой индустрии. Хотя компания официально не раскрывает степень своего роста, к 2012 году было подтверждено, что их инфраструктура обслуживает около 3 миллиардов поисковых запросов в день.

Google.com глобально занял звание сайта номер 1 в Alexa Top 500 Global Sites. Учитывая эти цифры, владельцам собственных веб-страниц особенно важно иметь хорошую видимость своих сайтов поисковой системой.

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

Чем нужнее становится Google для современного маркетинга, тем важнее понимать функции поиска и алгоритмы обновлений, которые оказывают непосредственное влияние на ранжирование результатов. Moz предполагает, что Google изменяет свои алгоритмы по 600 раз за год. Многие из этих изменений и связанные с ними факторы ранжирования держатся в секрете. И только о крупных обновлениях объявляют публично.

В этой статье мы рассмотрим основы функциональности поисковой системы и объясним основные обновления алгоритма Google, начиная с 2011 года. Выведем также стратегии, следуя которым можно идти в ногу с изменениями поисковой системы. Так что читайте дальше…

Как работает Google?

Своим появлением поисковые системы напрочь изменили привычный для нас способ сбора информации. Интересует ли вас обновление данных фондового рынка или вы хотите найти лучший ресторан в районе, либо пишете академический отчет об Эрнесте Хемингуэе — поисковик даст ответ на все запросы. В 80 годы ответы на вопросы потребовали бы посещения местной библиотеки. Теперь же все решается в течении миллисекунды с использованием алгоритмических полномочий поисковика.

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

Результат работы Google можно сравнить с интернет-каталогом, отобранным с помощью рейтинговой системы на основе алгоритмов. Более конкретно алгоритм поиска можно описать как «нахождение элемента с заданными свойствами среди списка элементов».

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

Сканирование

Сканирование может быть описано, как автоматизированный процесс систематического изучения общедоступных страниц в Интернете. Проще говоря, во время этого процесса Google обнаруживает новые или обновленные страницы и добавляет их в свою базу. Для облегчения работы он использует специальную программу. «Googlebots» (можно встретить альтернативные названия: «боты» или «роботы») посещают список URL-адресов, полученных в процессе прошлого сканирования и дополненных данными карты сайта, которую предоставляют веб-мастера и анализируют их содержание. При обнаружении ссылок на другие страницы во время посещения сайта, боты также добавляют их в свой список и устанавливают систематические связи. Процесс сканирования происходит на регулярной основе в целях выявления изменений, изъятия «мертвых» ссылок и установления новых взаимосвязей. И это при том, что только по данным на сентябрь 2014 года насчитывается около миллиарда веб-сайтов. Можете себе представить сложность такой задачи? Тем ни менее, боты не посещают абсолютно каждый сайт. Чтобы попасть в список проверяемых, веб-ресурс должен быть рассмотрен, как достаточно важный.
Индексация

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

Для того чтобы эффективно хранить информацию о миллиардах страниц в базе данных поисковой системы, Google использует крупные центры обработки данных в Европе, Азии, Северной и Южной Америке. В этих центрах, как было подсчитано, на основе энергопотребления Google в 2010 году, работает около 900,000 серверов.

Основная цель процесса индексации: быстро реагировать на поисковой запрос пользователя. Его как раз мы и будем обсуждать на следующей стадии.

Обработка

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

Хотя Google и не выпустил официальных данных об этом, компания подтверждает, что использует более 200 факторов для определения релевантности и значимости конкретной страницы.

Естественно, всем веб-разработчикам важно знать, каковы факторы ранжирования, которые влияют на позицию страницы в поисковой выдаче. Иногда Google дает определенные намеки, объявив важные изменения в обновлениях своих алгоритмов.

Все вышеописанные процессы сканирования, индексирования и позиционирования можно изобразить с помощью такой схемы:


 
Теперь, когда у вас есть базовое понимание того, как работает Google, рассмотрим основные обновления алгоритмов поиска, начиная с 2011 года.

Обновление алгоритмов начиная с 2011

Как вы и сами понимаете, Google никогда не будет публично раскрывать свои алгоритмы поиска и факторы ранжирования результатов. Это было бы равносильно тому, чтоб компания Coca-Cola выкладывала рецепты своей знаменитой газировки в Интернет. Тем ни менее, Google желает улучшать уровень пользовательского опыта и обеспечивать самые лучшие результаты поиска. Для того, чтобы уменьшить внедряемый контент в результатах поиска, компания хочет проинформировать веб-мастеров о том, когда и как изменились главные стандарты качества отбора. Поэтому вполне вероятно, что перед проведением крупного обновления алгоритма, последует анонс на Google Webmaster Central Blog.

Итак, давайте рассмотрим основные обновления, которые были осуществлены, начиная с 2011 года:
 

Panda

Обновление Panda впервые было представлено в конце февраля 2011 года. После было выпущено достаточно много его апдейтов, на данный момент текущая версия: 4.2. Обновление можно рассматривать, как значительное улучшение алгоритма поиска, потому что оно нацелено на повышение качества контента веб-сайтов. Основная идея заключается в том, что оригинальные сайты с авторским контентом в поисковой системе должны занять место выше, чем страницы с низким качеством, повторяющие то, что уже и так известно или же являющиеся копиями других сайтов. Обновление Panda установило новый базовый уровень стандартов качества:
  • содержимое на странице должно иметь существенный объем. Больший объем информации статистически занимает место выше, чем содержащий меньше 1500 слов;
  • информация, представленная на сайте должна быть оригинальной. Если вы просто копируете содержимое других веб-ресурсов, Google накажет за это;
  • содержание сайта должно вносить что-то новое к теме. Мало кому будет интересно в сотый раз перечитывать одно и тоже. Для успешного продвижения контент должно быть то, чего нет на других сайтах;
  • текст сайта должен быть орфографически и грамматически правильным и основываться на проверенных фактах;
  • если вы собираетесь автоматически генерировать контент из базы данных, содержание должно соответствовать описанным стандартам.
Page Layout (Top Heavy)

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

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

Ещё одной особенностью Penguin является способность анализировать ссылочную массу.

Pirate

С обновлением Pirate, которое было введено в августе 2012 года, Google снизил рейтинг сайтов, нарушающих авторские права и интеллектуальную собственность. Для измерения этих нарушений, Google использует систему запросов о нарушении авторских прав, основанную на Digital Millenium Copyright Act. Правообладатели могут применять инструмент, чтобы сообщить и удалить содержание сайта плагиаторов из базы данных Google.
Exact Match Domain(EMD)

Выпущено в сентябре 2012 года и направлено на борьбу с доменами, похожими на MFA.
MFA(made-for-adsense) – домен, который создан специально для контекстно-медийной системы Google. Обычно такой домен предназначен для какого-то одного запроса (или семейства запросов) и на нем установлен Google Adsense. Пользователь, попавший на этот домен, не видит ничего, кроме рекламы и в итоге либо закрывает сайт, либо переходит дальше по контекстному объявлению. После выпуска алгоритма EMD, сайты, содержащие в доменном имени запрос, были изъяты или очень существенно понижены в рейтинге.
Payday Loan

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

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

Рассмотрим это обновление на обычном примере. Допустим, вам нужно купить дверь. Если ввести запрос, Google выдаст фотографии дверей. Из них: 2-3 страницы, где непосредственно можно купить двери, 3-4 сайта компаний-производителей дверей и 2-3 сайта о том, как выбрать и поменять дверь. Если бы не было обновления Payday Loan, вы бы увидели 15-20 запросов на одну тематику (к примеру, где купить дверь).
Критерии, по которым происходит отбор таких сайтов, Google раскрывать не хочет, но данный алгоритм явно упростил жизнь пользователям поисковой системы.

Hummingbird

С сентября 2013 года Google реализовал замену алгоритма поиска, которая была названа Hummingbird. Основные обновления, как Panda и Penguin, были интегрированы с этим новым алгоритмом. Имя Hummingbird выбрали в качестве синонима для описания гибкости, точности и скорости нового обновления.

Вместо того, чтобы возвращать точные ответы на запросы, используя введенные пользователем ключевые слова (как это было раньше), Google интерпретирует намерения и контекст поиска. Цель состоит в том, чтобы понять смысл поискового запроса пользователя и возвращать соответствующие результаты. Это означает, что точные совпадения ключевых слов становятся менее важными в пользу поиска намерения. В качестве примера: если вы вводите запрос «погода», то вряд ли ожидаете получить полное объяснение самого термина. Скорее в данном случае имеются в виду погодные условия. Что-то наподобие:

Pigeon

Обновление Pigeon впервые выпущено в июле 2014 года. Основное внимание в нем уделяется результатам геозависимого поиска. Расстояние и местоположение пользователя являются ключевыми параметрами ранжирования, чтобы обеспечить точность результата. Это обновление тесно связано с Google Maps. Например:

Mobilegeddon

Было выпущено в апреле 2015 года. Это обновление влияет только на мобильный поиск, оно дает преимущество страницам, дружественным к мобильным устройствам.

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

Существует специальный тест, с помощью которого веб-мастера могут проверить совместимость своего сайта с мобильными устройствами. Также можно использовать  отчеты о мобильном юзабилити в Google Webmaster Tools, только они могут работать с задержкой.

Как идти в ногу с изменениями алгоритмов?

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

Поскольку поведение человека постоянно меняется, задача Google также адаптировать свои алгоритмы согласно изменениям. К примеру, «Mobilegeddon» было введено в качестве реакции на растущую тенденцию поисков с мобильных устройств.

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

Итак, если вы — веб-программист, вам особенно важно быть в курсе изменений алгоритмов поиска Google. Вот подборка нескольких полезных ресурсов, которые могут помочь оставаться в курсе событий:

Google Webmaster Central Blog — ваш главный источник для официальных новостей и обновлений, на нем довольно часто впервые объявляли об алгоритмических изменениях.

Moz Google Algorithm Change History — в этой базе данных Moz опубликовал каждое из заметных изменений алгоритма и обновлений начиная с 2000 года.

Search Engine Land – один из наиболее важных онлайн журналов для SEO и SEM. В нем есть целый раздел об обновлениях алгоритмов Google с соответствующими статьями.

Search Engine Roundtable – также включает в себя интересный раздел об обновлениях алгоритмов.

Mozcast — это визуальное представление об изменениях алгоритмов в виде сводки погоды.

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

Сохраняя традицию. Вот тут можно найти первоисточник.

Что такое поисковый индекс? | KV.by

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

Поисковый индекс - это некоторая структура данных, позволяющая уменьшить время, необходимое для поиска в каком-то хранилище данных заданной последовательности символов. Говорят, что индекс, в отличие от самого хранилища данных, обеспечивает сублинейное время поиска, в то время как время поиска по хранилищу является линейным. Что это означает? Что для поиска некоторого элемента в хранилище данных по заданному запросу вам потребуется время, пропорциональное количеству элементов в данном хранилище. Индекс, представляя собой структурированный, а не хаотический набор данных, позволяет осуществлять доступ к ним уже быстрее. Чтобы легче понять, о чем именно идёт речь, представьте себе набор визиток с адресами и телефонами, расположенных в совершенно случайном порядке, и телефонный справочник, куда внесены данные из этих визиток, упорядоченные по фамилии их обладателя или по названию организации. Очевидно, что поиск по упорядоченному справочнику займёт куда меньше времени, чем по хаотическому набору визиток. Таким образом, телефонный справочник можно считать некоторым подобием или, наверное, даже прообразом поисковых индексов, используемых сегодня при поиске данных в их неструктурированных хранилищах.

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

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

Вадим СТАНКЕВИЧ,
[email protected]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *