ЛитМир - Электронная Библиотека
Содержание  
A
A

1.1. Что такое "поисковая машина"

Каждому из нас в определенный момент времени бывает необходима информация, отсутствующая среди записей, заметок и данных на нашем компьютере. Где в таком случае вы будете ее искать? Одним из наиболее простых и удобных способов поиска является Интернет (далее также "Сеть"). Здесь есть все — техническая и экономическая информация, справочники и научные издания, расписания транспорта и онлайновые магазины, книги и курсы валют. Все можно найти, не отрываясь от стула. Но у этой хорошей стороны Интернета есть и обратная сторона — количество информации в Сети растет даже не по часам, а по минутам и секундам. Найти нужную информацию обычным серфингом уже невозможно. Простой и удобный протокол HTTP, используемый для серфинга, удобен для навигации и просмотра страниц, но совершенно не предназначен для поиска.

Первым шагом на пути систематизации информации, размещаемой в Интернете, стало создание каталогов сайтов, в которых ссылки на ресурсы группировались по тематическому признаку. Так построено большинство современных каталогов, но началом всему стал проект Yahoo! открытый в 1994 году. Вторым шагом после создания каталога стал поиск по размещенным в нем ссылкам. Понятно, что это был поиск не по всем ресурсам Интернета, а лишь по тем, которые присутствовали в каталоге. Даже сегодня, спустя десятилетия после появления первых каталогов, в них присутствует лишь малая толика интернет-ресурсов. В одном из самых крупных каталогов — DMOZ (Open Directory Project) находятся ссылки на 4 миллиона сайтов, распределенных по 590 000 категорий, а в базе Яндекса размещена информация свыше чем о 2 278 900 000 документов. Показатели для поиска несравнимые.

Поэтому не удивительно, что почти одновременно с появлением каталогов, появились и поисковые машины. Первой из них стал проект WebCrawler, появившийся в 1994 году. Следом за ним открылись поисковые системы Lycos и AltaVista, а в 1997 году Сергей Брин и Ларри Пейдж создали Google. В том же году была официально анонсирована и поисковая система Яндекс, ставшая самой популярной в русскоязычной части Интернета.

1.1.1. Компоненты поисковых машин

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

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

Вторые собирают информацию в Сети, используя специальные программы. Это поисковые машины, состоящие, как правило, из трех основных компонентов:

□ Агента;

□ Индекса;

□ Поискового механизма.

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

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

Поисковые роботы бывают различных типов:

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

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

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

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

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

Названные выше компоненты не обязательно входят в состав поисковой машины так, как они здесь описаны. У разных поисковиков реализация может отличаться друг от друга. К примеру, связка Spider+Crawler+Индексатор может быть выполнена в виде единой программы, которая скачивает известные веб-страницы, анализирует их и ищет по ссылкам новые ресурсы.

1.1.2. Характеристики поисковых машин

В статье, посвященной поисковой машине Rambler (http://www.rambler.ru/ doc/architecture.shtml), называются основные характеристики, которые могут быть применены к любым поисковикам:

□ полнота;

□ точность;

□ актуальность;

□ скорость;

□ наглядность.

Полнота поиска характеризуется отношением количества найденных по запросу документов к общему количеству документов в Интернете, соответствующих данному запросу. Если по запросу "кристаллическая решетка" будет найдено 150 документов, а общее количество документов в Интернете, соответствующее этому запросу, составляет 1000, то полнота поиска составит 0,15. (Эта величина приблизительная, поскольку неизвестно точно, сколько же на самом деле существует в Интернете страниц, отвечающих условию поиска.) Чем более полно проанализированы и занесены в Индекс документы, тем выше будет показатель полноты поиска.

Точность поиска определяется как степень соответствия найденных документов запросу пользователя. Допустим, мы хотим найти документы, в которых встречается выражение "сын знахаря". В результатах поиска мы увидим документы, в которых встречается точно такое выражение. Но присутствуют и документы, содержащие искомые слова, но не выражения, например: "родители привозят сына в небольшой городок на Адриатическом побережье, к местному знахарю". И если всего найдено 200 документов, из которых только в 80 встречается именно искомое словосочетание, то точность поиска будет оценена как 80/200 (0,4). Чем точнее поиск, тем выше вероятность, что пользователь найдет нужные документы, тем меньше будет избыточной, лишней информации.

3
{"b":"215355","o":1}