Принцип работы поисковой системы
Многие из нас пользуются поисковыми системами, такими как Google, Яндекс, Yahoo и др., однако, все ли понимают, как работает механизм поисковика? Несмотря на то, что каждый из поисковиков имеет свои особенности в алгоритмах поиска и ранжирования результатов, принципы работы всех поисковых систем общие.
Если рассматривать процесс поиска информации в сети, его можно разбить на следующие этапы: сбор информации со страниц сайтов в сети Интернет, индексация сайтов, поиск по запросу и ранжирование результатов. Рассмотрим каждый из этапов отдельно.
Сбор данных
Как только вы запустили свой сайт и дали роботу какой-нибудь поисковой системы понять, что появился новый ресурс (с помощью внешних ссылок на ваш сайт, добавления его в адурилку или используя другие методы), робот приходит к вам, начинает ходить по страницам и собирать с них данные (это могут быть текстовый контент, картинки, видео и др. файлы). Этот процесс называется сбором данных (англ. crawling) и он может происходить не только при запуске сайта. Робот составляет для сайта расписание, когда он должен на него зайти в следующий раз, проверить старую инфомрацию и добавить новые страницы, если таковые имеются.
Важно, чтобы общение вашего сайта с ботом было приятным для обеих сторон. В ваших интересах, чтобы бот долго не задерживался на сайте, чтобы не грузить лишний раз сервер, и в то же время необходимо, чтобы он правильно собрал все данные со всех нужных страниц. В интересах робота также сделать сбор быстрым, чтобы приступить к обработке следующего сайта в таблице расписаний. Для этого вам необходимо убедиться, что сайт доступен, что нет проблем с навигацией по сайту (flash и javascript меню роботы ещё плохо распознают), что отсутствуют битые страницы (отдающие 404 ошибку), не заставлять бота ходить по страницам, которые доступны только зарегистрированным пользователям и так далее. Также следует помнить, что для web-пауков существует ограничение на глубину проникновения (уровень вложенности) и максимальный размер сканируемого текста (обычно 256кб).
Управлять доступом на разные ресурсы для поискового робота можно с помощью файла robots.txt. Карта сайта sitemap.xml также может помочь роботу, если по каким-либо причинам навигация по сайту ему затруднена.
Полезная ссылка: О поисковом роботе
http://ru.wikipedia.org/wiki/Поисковый_робот
Индексация
Робот может ходить по вашему сайту долгое время, однако это не значит, что он сразу появится в поисковой выдаче. Страницам сайта необходимо пройти такой этап, как индексация – составление для каждой страницы обратного (инвертированного) файла индекса. Индекс служит для того, чтобы быстро по нему производить поиск и состоит обычно из списка слов из текста и информации о них (позиции в тексте, вес и др.).
После того, как прошла индексация сайта или отдельных страниц, они появляются в основной выдаче поисковика и их можно найти по ключевым словам, присутствующим в тексте. Процесс индексации обычно происходит довольно быстро после того, как робот стянет информацию с вашего сайта.
Можно также почитать: Как работают поисковые системы
http://download.yandex.ru/company/iworld-3.pdf
Инвертированный файл
http://wiki.liveinternet.ru/IR/InvertirovannyjjFajjl
Поиск информации
При поиске, первым делом, анализируется запрос, введенный пользователем (происходит препроцессинг запроса), в результате которого вычисляются веса для каждого из слов (т.н. переколдовка в яндексе).
Далее, поиск производится по инвертированным индексам, находятся все документы в коллекции (базе данных поисковой системы), которые наиболее подходят под данный запрос. Другими словами, вычисляется схожесть документа запросу примерно по следующей формуле
similatiry(Q,D) = SUM(wqk*wdk),
где similatiry(Q,D) — схожесть запроса Q документу D;
wqk — вес k-го слова в запросе;
wdk — вес k-го слова в документе.
Документы, наиболее схожие с запросом, попадают в результаты поиска.
Полезный материал: AUTOMATIC TEXT ANALYSIS
http://www.dcs.gla.ac.uk/Keith/Chapter.2/Ch.2.html
Обьяснение алгоритма Яндекса от Миныча
http://www.minich.ru/business/seo/
Ранжирование
После того, как наиболее схожие документы были отобраны из основной коллекции, они должны ранжироваться, чтобы в верхних результатах отражались наиболее полезные для пользователя ресурсы. Для этого используется специальная формула ранжирования, которая для разных поисковиков имеет разный вид, однако для всех из них основными факторами ранжирования являются:
- вес страницы (вИЦ, PageRank);
- авторитетность домена;
- релевантность текста запросу;
- релевантность текстов внешних ссылок запросу;
- а также множество других факторов ранжирования.
Существует упрощенная формула ранжирования, которую можно найти в некоторых статьях оптимизаторов:
Rа(x)=(m*Tа(x)+p*Lа(x))* F(PRa),
где:
Rа(x) – итоговое соответствие документа а запросу x,
Tа(x) – релевантность текста (кода) документа а запросу x,
Lа(x) – релевантность текста ссылок с других документов на документ а запросу x,
PRа – показатель авторитетности страницы а, константа относительно х,
F(PRa) – монотонно неубывающая функция, причем F(0)=1, можно допустить, что F(PRa) = (1+q*PRа),
m, p, q – некие коэффициенты.
То есть, мы должны знать, что при ранжировании документов используются, как внутренние факторы, так и внешние. А также можно их разделить на зависимые от запроса факторы (релевантность текста документа или ссылок) и независимые от запроса. Конечно же, эта формула даёт очень общее представление об алгоритмах ранжирования документов в результатах поиска.
Для более детального ознакомления с принципами работы поисковых систем советую почитать материалы по ссылкам, приведенным на этой странице.
Полезные ссылки про ранжирование: РОМИП 2004
http://company.yandex.ru/articles/romip2004.xml
Алгоритм текстового ранжирования Яндекса на РОМИП-2006
http://download.yandex.ru/company/03_yandex.pdf
Основные факторы, влияющие на релевантность
http://www.promo-techart.ru/analysis/relevants.htm
17 ответов (оставить свой)
m, p, q – как они определяются? За материал спасибо. В теме диссертации помогло!
Терехов, О_О какие-то слабенькие диссертации сейчас 🙂 материал, на самом деле, только поверхностный.
Devaka, а кто говорит о том, что диссертация этим ограничивается. Как защищусь, выложу ее в сети, пусть деньги приносит. Хорошим контентом будет)
Достаточно неплохая подборка, встретил несколько новых вещей, хотя особо изучением принципов работы поисковых систем не занимался. Было бы интересно почитать подробнее о каждом пункте (кроме индексации).
Материал очень познавательный для понимания поисковых систем
спасибо большое за статью, использую в реферате по информатике экзаменационном)) надеюсь поможет
насчет вики согласен, благо мой ресурс принимают без проблем, а вот эддурилки сейчас считаю не актуальны, очень много разочарований
Да материал познавательный для понимания работы поисковых систем
Очень даже огорчило ранжирование, из него следует что не каждому сайту пролезть в первые ряды в поске
Подскажите пожалуйста! Если поставить пароль на доступ к чтению к статье и пароль будут знать только определенные пользователи, но в файле robot.txt не запрещать индексировать эту статью.
Так сможет ли робот индексировать эту статью или нет? Просто когда вы заходите на сайт то видите название статьи но ниже видно поле для ввода пароля и надпись (Данная запись защищена паролем).
Сайт создан на CMS.
Эх это баловство какоето у вас что так много читателей, поделитесь а)
Дмитрий дело не в этом, просто я нашел форум который полность копирует мои статьи и я хотел просто на время ставить пароль для индексации статьи а потом пароль снять.
Ну дак таких форумов в интернете больше половины) незнаю поможет ли вам такое
m, p, q – некие коэффициенты.
Один из них возраст, второй траст, третий юзабилити, по сути они и определяют авторитет.
Сейчас в интернете такая каша. Сейчас стараюсь пользоваться только инструментами для разработчика от google. Там все хорошо описано.
Я как и предыдущий аратор работа. только с инструментами гугл. Там реально все четко
Благодар за очень полезну статью, видел похожее на нескольких блогах у вас эта тема оказалась более подробно выявлена и разобрана!