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

Если рассматривать процесс поиска информации в сети, его можно разбить на следующие этапы:

  • сбор информации со страниц сайтов в сети Интернет;
  • индексация сайтов;
  • поиск по запросу;
  • ранжирование результатов.

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

Рассмотрим каждый из этапов отдельно.

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

Важно, чтобы общение вашего сайта с роботом было приятным для обеих сторон. В ваших интересах, чтобы робот долго не задерживался на сайте, чтобы не грузить лишний раз сервер, и в то же время необходимо, чтобы он правильно собрал все данные со всех нужных страниц. В интересах робота также сделать сбор быстрым, чтобы приступить к обработке следующего сайта в таблице расписаний. Для этого вам необходимо убедиться, что сайт доступен, что нет проблем с навигацией по сайту (flash и javascript меню роботы ещё плохо распознают), что отсутствуют «битые» страницы (отдающие 404 ошибку), не заставлять робота ходить по страницам, которые доступны только зарегистрированным пользователям и так далее. Также следует помнить, что для web-пауков существует ограничение на глубину проникновения (уровень вложенности страниц) и максимальный размер сканируемого текста (обычно 256кб).

Управлять доступом на разные ресурсы для поискового робота можно с помощью файла robots.txt, в котором содержатся правила и ограничения доступа к содержимому сайта на http-сервере. Карта сайта sitemap.xml (XML-файл с информацией для поисковых систем о страницах веб-сайта, которые подлежат индексации) также может помочь роботу, если по каким-либо причинам навигация по сайту ему затруднена.

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

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

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



style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-7880932535601668"
data-ad-slot="5483897389">


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

similarity(Q,D)=SUM( w(qk)∙w(dk) ),

где similarity(Q,D) – схожесть запроса Q документу D;

w(qk) – вес k-го слова в запросе;

w(dk) – вес k-го слова в документе.

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

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

  • вес страницы (вИЦ, PageRank);
  • авторитетность домена;
  • релевантность текста запросу;
  • релевантность текстов внешних ссылок запросу;
  • а также множество других факторов ранжирования.

Поскольку точная формула не раскрывается поисковыми системами, существует упрощенная формула:

Ra(x)=(m∙Ta(x)+p∙La(x) )∙F(PRa),

где Ra(x) – итоговое соответствие документа a запросу x;

Ta(x) – релевантность текста (кода) документа a запросу x;

La(x) – релевантность текста ссылок с других документов на документ a запросу x;

PRa – показатель авторитетности страницы a, константа относительно x;

F(PRa) – монотонно неубывающая функция, причем F(0)=1, можно допустить, что F(PRa)=1+q∙PRa;

m,p,q – некие коэффициенты.

То есть, мы должны знать, что при ранжировании документов используются, как внутренние факторы, так и внешние. А также можно их разделить на зависимые от запроса факторы (релевантность текста документа или ссылок) и независимые от запроса. Конечно же, эта формула даёт очень общее представление об алгоритмах ранжирования документов в результатах поиска. [4]