Состав и принципы работы поисковых систем. Зачем это вам

Поисковая система - это программно-аппаратный комплекс, предназначенный для осуществления поиска в сети Интернет и реагирующий на запрос пользователя, задаваемый в виде текстовой фразы (поискового запроса), выдачей списка ссылок на источники информации, в порядке релевантности (в соответствии запросу). Наиболее крупные международные поисковые системы: «Google» , «Yahoo» , «MSN» . В русском Интернете это – «Яндекс» , «Рамблер» , «Апорт» .

Опишем основные характеристики поисковых систем:

    Полнота

Полнота - одна из основных характеристик поисковой системы, представляющая собой отношение количества найденных по запросу документов к общему числу документов в сети Интернет, удовлетворяющих данному запросу. К примеру, если в Интернете имеется 100 страниц, содержащих словосочетание «как выбрать автомобиль», а по соответствующему запросу было найдено всего 60 из них, то полнота поиска будет 0,6. Очевидно, что чем полнее поиск, тем меньше вероятность того, что пользователь не найдет нужный ему документ, при условии, что он вообще существует в Интернете.

    Точность

Точность - еще одна основная характеристика поисковой машины, которая определяется степенью соответствия найденных документов запросу пользователя. Например, если по запросу «как выбрать автомобиль» находится 100 документов, в 50 из них содержится словосочетание «как выбрать автомобиль», а в остальных просто наличествуют эти слова («как правильно выбрать магнитолу и установить в автомобиль»), то точность поиска считается равной 50/100 (=0,5). Чем точнее поиск, тем быстрее пользователь найдет нужные ему документы, тем меньше различного рода «мусора» среди них будет встречаться, тем реже найденные документы не будут соответствовать запросу.

    Актуальность

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

    Скорость поиска

Скорость поиска тесно связана с его устойчивостью к нагрузкам. Например, по данным ООО «Рамблер Интернет Холдинг», на сегодняшний день в рабочие часы к поисковой машине Рамблер приходит около 60 запросов в секунду. Такая загруженность требует сокращения времени обработки отдельного запроса. Здесь интересы пользователя и поисковой системы совпадают: посетитель желает получить результаты как можно быстрее, а поисковая машина должна отрабатывать запрос максимально оперативно, чтобы не тормозить вычисление следующих запросов.

    Наглядность

Наглядность представления результатов является важным компонентом удобного поиска. По большинству запросов поисковая машина находит сотни, а то и тысячи документов. Вследствие нечеткости составления запросов или неточности поиска, даже первые страницы выдачи не всегда содержат только нужную информацию. Это означает, что пользователю зачастую приходится производить свой собственный поиск внутри найденного списка. Различные элементы страницы выдачи поисковой системы помогают ориентироваться в результатах поиска.одробные пояснения по странице результатов поиска, например у «Яндекса» можно посмотреть по ссылке http://help.yandex.ru/search/?id=481937 .

4. Краткая история развития поисковых систем

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

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

Каталоги ссылок широко использовались ранее, однако практически полностью утратили свою популярность в настоящее время. Так как даже современные, огромные по своему объему каталоги, содержат информацию лишь о ничтожно малой части сети Интернет. Самый большой каталог сети DMOZ (его еще называют Open Directory Project) содержит информацию о 5 миллионах ресурсов, тогда как база поисковой системы Google состоит из более чем 8 миллиардов документов.

Первой полноценной поисковой системой стал проект WebCrawler, вышедший в свет в 1994 году.

В 1995 году появились поисковые системы Lycos и AltaVista. Последняя долгие годы была лидером в области поиска информации в сети Интернет.

В 1997 году Сергей Брин и Ларри Пейдж создали поисковую машину Google в рамках исследовательского проекта в Стэндфордском университете. В настоящий момент Google - самая популярная поисковая система в мире!

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

В настоящее время существуют три основные международные поисковые системы – Google, Yahoo и MSN, имеющих собственные базы и алгоритмы поиска. Большинство остальных поисковых систем (коих насчитывается большое количество) использует в том или ином виде результаты трех перечисленных. Например, поиск AOL (search.aol.com) использует базу Google, а AltaVista, Lycos и AllTheWeb – базу Yahoo.

5. Состав и принципы работы поисковой системы

В России основной поисковой системой является «Яндекс», далее - Rambler.ru, Google.ru, Aport.ru, Mail.ru. Причем, на данный момент, Mail.ru использует механизм и базу поиска «Яндекса».

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

Модуль индексирования

Модуль индексирования состоит из трех вспомогательных программ (роботов):

Spider (паук) – программа, предназначенная для скачивания веб-страниц. «Паук» обеспечивает скачивание страницы и извлекает все внутренние ссылки с этой страницы. Скачивается html-код каждой страницы. Для скачивания страниц роботы используют протоколы HTTP. Работает «паук» следующим образом. Робот на сервер передает запрос “get/path/document” и некоторые другие команды HTTP-запроса. В ответ робот получает текстовый поток, содержащий служебную информацию и непосредственно сам документ.

    URL страницы

    дата, когда страница была скачана

    http-заголовок ответа сервера

    тело страницы (html-код)

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

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

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

База данных

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

Поисковый сервер

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

Поисковый сервер работает следующим образом:

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

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

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

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

    Полученные результаты поиска передаются пользователю в виде SERP (Search Engine Result Page) – страницы выдачи поисковых результатов.

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

Ни одна поисковая система не охватывает все ресурсы Интернет.

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

Поисковые системы реализуют два способа поиска ресурса:

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

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

Большинство поисковых систем сочетают оба способа поиска.

Поисковые системы могут быть локальными, глобальными, региональными и специализированными.

В русской части Интернет (Рунет) наиболее популярны сейчас поисковые системы общего назначения Rambler (www.rambler.ru), Яндекс (www.yandex.ru), Апорт (www.aport.ru), Гугл (www.google.ru).

Большинство поисковых систем реализовано в виде порталов.

Портал (от англ. portal - главный вход, ворота) -это веб-сайт, который интегрирует различные сервисы Интернет: средства поиска, почту, новости, словари и т.д.

Порталы могут быть специализированными (как, www . museum . ru ) и общими (например, www . km . ru ).

Поиск по ключевым словам

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

Запрос может состоять как из одного слова, так и из сочетания слов, объединенных операторами - символами, по которым система определяет, какое действие ей нужно произвести. Например: запрос “Москва Питер” содержит оператор И (так воспринимается пробел), который указывает, что надо искать документы, в которых есть оба слова - и Москва, и Питер.

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

    Независимо от того, в какой форме употреблено слово в запросе, поиск учитывает все его словоформы по правилам русского языка. Например, по запросу “билет” будут найдены и слова “билетом”, “билету” и т.д.

    Заглавные буквы следует использовать только в именах собственных, чтобы не просматривать лишние ссылки. По запросу “кузнецов”, например, будут найдены документы, где говорится и о кузнецах, и о Кузнецовых.

    Желательно сужать круг поиска, используя несколько ключевых слов.

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

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

Крупные сайты могут иметь встроенные системы поиска информации в пределах своих веб-страниц.

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

Расширенный поиск

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

Описание параметра

Название в Яндекс

Название в Rambler

Где искать ключевые слова (заголовок документа, основной текст и т.д.)

Словарный фильтр

Поиск по тексту...

Какие слова должны или не должны присутствовать в документе и насколько точным должно быть совпадение

Словарный фильтр

Искать слова запроса... Исключить документы, содержащие следующие слова...

На каком расстоянии друг от друга должны располагаться ключевые слова

Словарный фильтр

Расстояние между словами запроса...

Ограничение на дату документа

Дата документа...

Ограничение поиска пределами одного или нескольких сайтов

Сайт/Вершина

Искать документы только на следующих сайтах...

Ограничение поиска по языку документа

Язык документа...

Поиск документов, содержащих картинку с определенным именем или подписью

Изображение

Поиск страниц, содержащих объекты

Специальные объекты

Форма представления результатов поиска

Формат выдачи

Вывод результатов поиска

Некоторые поисковые системы (например, Яндекс) позволяют вводить запросы на естественном языке. Вы пишите, что нужно найти (например: заказ билетов на поезд из Москвы в Питер). Система анализирует запрос и выдает результат. Если он Вас не устраивает, переходите на язык запросов.

Работа поискового указателя происходит в три этапа, из которых два первых являются подготовительными и незаметны для пользователя. Сначала поисковый указатель собирает информацию из World Wide Web. Для этого используют специальные программы, аналогичные браузеры. Они способны скопировать заданную Web-страницу на сервер поискового указателя, просмотреть ее, найти все гиперссылки, которые на ней имеют те ресурсы, найденные там, снова разыскать имеющиеся в них гиперссылки. Подобные программы называют червяками, пауками, гусеницами, краулерами, спайдерами и другими подобными именами. Каждый поисковый указатель эксплуатирует для этой цели свою уникальную программу, которую нередко сам и разрабатывает.Теоретически, при удачном входе спайдер способен прочесать все Web-пространство за одно погружение, но на это надо очень много времени, а ему еще необходимо периодически возвращаться к ранее посещенным ресурсам, чтобы контролировать происходящие там изменения и выявлять «мертвые» ссылки, т. е. потерявшие актуальность.

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

На третьем этапе происходит обработка запроса клиента и выдача ему результатов поиска в виде списка гиперссылок. Допустим, клиент хочет узнать, где в Интернете имеются Web-страницы, на которых упоминается известный голландский механик, оптик и математик Христиан Гюйгенс. Он вводит слово Гюйгенс в поле набора ключевых слов и нажимает кнопку «Найти» (Search). По своим базам указателей поисковая система в доли секунды разыскивает подходящие Web-ресурсы и формирует страницу результатов поиска, на которой рекомендации представлены в виде гиперссылок. Далее клиент может пользоваться этими ссылками для перехода к интересующим его ресурсам.

Все это выглядит достаточно просто, но на самом деле здесь есть проблемы. Основная проблема современного Интернета связана с изобилием Web-страниц. Достаточно ввести в поле поиска такое простое слово, как, например, футбол, и российская поисковая система выдаст несколько тысяч ссылок, сгруппировав их по 10-20 штук на отображаемой странице.

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

Клиент вправе ожидать, что самыми первыми будут стоять наиболее полезные ссылки. Вот здесь и возникает проблема. Человек легко отличает полезный ресурс от бесполезного, но как объяснить это программе? Поэтому лучшие поисковые системы проявляют чудеса искусственного интеллекта в попытке отсортировать найденные ссылки по качественности их ресурсов. И делать это они должны быстро -- клиент не любит ждать.

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

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

Очень хорошо, если ключевые слова, использованные в запросе, входят в альтернативный текст, сопровождающий иллюстрации. Для поисковой системы это верный признак того, что данная страница точно соответствует запросу. Еще одним признаком качества Web-страницы является тот факт, что на нее есть ссылки с каких-то других Web-страниц. Чем их больше, тем лучше. Значит, эта Web-страница популярна и обладает высоким показателем цитирования.Самые совершенные поисковые системы следят за уровнем цитирования зарегистрированных ими Web-страниц и учитывают его при ранжировании.

информационный поисковый система

Из пяти отдельных программных компонент состоят поисковые системы, а именно:

  • Паук (spider ): его задача - скачивать WEB страницы; программа, которая подобна WEB браузеру.
  • Crawler : паук, которого называют «путешествующим»; он автоматически переходит по всем ссылкам, которые были найдены на странице.
  • Индексатор (indexer ): программа, которую называют «слепой»; ее задача анализировать WEB страницы, которые были скачены пауками.
  • База данных (database ): она является хранилищем страниц, которые были сначала скачены, а потом подвергнуты обработке.
  • Система выдачи результатов (search engine results engine ): данная система помогает извлекать результаты поиска из базы данных.

Подробнее о каждом из компоненте поисковых систем

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

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

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

База данных : Database является хранилищем любых данных, которые поисковая система собирается скачать и проанализировать. В большинстве случаев для этого требуются огромные ресурсы.

Система выдачи результатов : Search Engine Results Engine является сердцем поисковой системы. Именно данная система будет решать, какие же страницы будут удовлетворять каждому запросу обычного пользователя. При помощи данной части поисковой системы и осуществляется поиск.

В случае если пользователь ввел ключевое слово и начал поиск, поисковая система начинает отбирать результаты, опираясь на постоянно меняющиеся критерии. Метод, по которому поисковая система принимает любые свои решения, называется алгоритмом. «Algos» - данный термин иногда используют профессиональные - это и есть то, о чем мы разговариваем.

Критерии поиска при формировании выдачи поисковыми системами

Даже из-за того, что поисковые системы очень изменились, большинство из них в наше время отбирает результаты поиска, опираясь на данные критерии:

  • Заголовок (Title): Есть ли в заголовке ключевое слово?
  • Домен/адрес (Domain/URL): Есть ли в адресе страницы или в имени домена ключевое слово?
  • Стиль (Style): Заголовки HEAD, Курсивный (I или EM), Жирный (B или STRONG): есть ли на странице место, где ключевое слово используют в курсивных, жирных, или Hx (H1, H2, …) текстовых заголовках?
  • Плотность (Density): Насколько часто ключевое слово употребляется на странице? Плотность ключевого слова - количество ключевых слов относительно текста страницы.
  • Мета данные (MetaInformation): Хоть и многие отрицают, но некоторые поисковые системы в наши дни все еще читают мета описания (meta description) и мета ключевые слова (meta keywords).
  • Ссылки наружу (Outbound Links): Куда ведут ссылки на странице, и имеется ли в тексте ссылки ключевое слово?
  • Внешние ссылки (Inbound Links): У кого еще в Интернете имеется ссылка на этот сайт? Что в тексте ссылки? Автор страницы не в каждом случае может контролировать этот критерий, поэтому он называется «внестраничным».
  • Ссылки внутри страницы (Insite Links): Содержит ли страница ссылки на еще какие-нибудь страницы этого сайта?

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

Данная статья является лишь сокращенным описанием функционирования поисковых систем.

Веб-сервер поисковой системы

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

Рис. 2.1 Веб-интерфейс Google

Поисковые роботы

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

Поисковой робот обычно подразделяется на «Планировщика» и «Паука».

Планировщик (Crawler или «Червяк») - это программа, основная цель которой вытаскивать из ресурса все ссылки на прочие страницы/ресурсы и сохранять их в своей базе, одновременно составляя путь для «Паука». После того как все ссылки будут найдены, «Планировщик» начинает планомерный переход по этим ссылкам и весь процесс начинается сначала.

Паук (Spider) - это главная часть поискового робота. Он переходит по спланированному «Планировщиком» маршруту и сохраняет веськод страницы в базу данных.

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

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

Индексатор

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

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

Индексаторы также выстраивают обратный индекс - это когда слову соответствуют веб-ресурсы. Индексатор, в связи с этим, производит ранжирование в зависимости от релевантности ресурса.

База данных

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

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

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

Каталоги ссылок были хорошей задумкой, но целесообразность их использования уменьшалась прямо пропорционально росту числа сайтов в сети Интернет. Даже самый современный каталог, в котором содержится несколько миллионов ресурсов, предоставляет доступ лишь к малой части информации, хранящейся в сети Интернет. Например, в самом большом каталоге сети Open Directory Project содержится информация о 5 миллионах ресурсов, в то же время, в базу поисковой системы Google занесено свыше 8 млрд. документов и их число растет с каждой минутой.

Хронология появления поисковых систем

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

На сегодняшний день можно выделить 3 основные международные поисковые системы: Google, Yahoo и MSN Search, которые работают по собственным алгоритмам поиска и имеют свои базы данных. Остальные поисковики пользуются в той или иной мере их технологиями и возможностями. Например, базу Google используют такие поисковики, как Mail.ru и AOL (search.aol.com), а базу Yahoo - поисковики AllTheWeb, Lycos и AltaVista. В России и странах СНГ главной поисковой системой является Яндекс, затем идут Rambler и Google, также широко используются поисковики Mail.ru, Aport и KM.ru.

Базовые компоненты поисковых систем

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

  • Web server - веб сервер, отвечающий за взаимодействие пользователя с компонентами поисковой системы
  • Spider (англ. паук) - браузерная программа, «отыскивающая» Интернет-ресурсы и скачивающая все веб-страницы
  • Crawler (англ. паук путешественник) - специализированный вариант spider, программа автоматически переходит по всем ссылкам, найденным на страницах ресурса
  • Indexer (англ. индексатор) - программа, анализирующая информацию, предоставленную пауками
  • Database - база данных поисковой системы, в которой хранятся скачанные и проанализированные страницы
  • Search engine results engine (англ. система выдачи результатов) - выдает из базы данных результат поиска

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

Принципы работы компонентов поисковой системы

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

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

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

Database. В базу данных поисковой системы заносятся все данные, найденные, скачанные и проанализированные поисковой системой из сети Интернет.

Search Engine results engine. Основным элементом поисковой системы, представляющим главный интерес для владельцев сайтов и пользователей, является система выдачи результатов поиска. Она отвечает за ранжирование страниц (сайтов), то есть решает, какая страница окажется на первом месте, а какая на последнем. Сортировка страниц происходит по определенному алгоритму ранжирования, который у каждой поисковой системы свой, и является самой главной тайной. Именно система выдачи результатов является объектом изучения сео-оптимизаторов, так как с ней ему приходится работать, чтобы улучшить позиции сайта в выдаче результатов поиска.

Web server. Обычно веб сервер представляет собой html-страницу с формой для ввода поискового запроса. Веб сервер также выдает пользователю результаты поиска в виде html-страницы. Для каждой поисковой системы эти страницы оформлены в конкретном фирменном стиле.