Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб1.docx
Скачиваний:
6
Добавлен:
03.09.2019
Размер:
103 Кб
Скачать
☆
  1. Состав и принцип действия поисковых систем

Поисковая система - это сумма следующих компонентов:

  1. Web server (веб-сервер) – сервер поисковой машины, который осуществляет взаимодействие между пользователем и остальными компонентами системы.

  2. Spider (паук)- программа написанная по принципу браузера, предназначена для скачивания веб-страниц. Браузер предназначен для визуального использования страниц, а паук работает с HTML кодом напрямую. Чтобы посмотреть "сырой" исходник нажмите в меню браузера: Вид- Просмотр HTML кода

  3. Crawler («путешествующий» паук) – программа, которая автоматически уходит по всем внешним ссылкам страницы. Ее задача - поиск не известных (или измененных) документов и в расстановке приоритетов, куда дальше должен идти Spider.

  4. Indexer (индексатор) - программа-анализатор скаченных пауками веб-страниц. Она "разбирает" на части скачанную страницу и анализирует ее элементы, такие как текст, служебные html-теги, заголовки, особенности стилистики и структурные формы

  5. Database (база данных) – хранилище для скачанных и обработанных страниц - общая база данных поисковой машины.

  6. Search engine results engine (система выдачи результатов) – извлекает результаты поиска из базы данных поисковой системы. Именно она решает, какие страницы более соответствуют запросу пользователя и отсортировывает их в нужном порядке. Модуль работает согласно заданным поисковой системой алгоритмам ранжирования

Так-же в поиковые ситемы встроены различные модули: определение IP-хоста сайта, WHOIS - определение имени владельца и сроков регистрации, copyscape - проверка "заимственности" содержания сайта и многое многое другое.

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

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

Сбор данных

Как только запущен новый сайт, роботу какой-нибудь поисковой системы дали понять, что появился новый ресурс с помощью внешних ссылок на сайт, робот приходит по адресу и начинает ходить по страницам, собирая с них данные (это могут быть текстовый контент, картинки, видео и др. файлы). Этот процесс называется сбором данных (англ. 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