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

  • 07.07.2019

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


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

Функции и понятие ПС

Поисковая система – это аппаратно-программный комплекс, который предназначен для осуществления функции поиска в интернете, и реагирующий на пользовательский запрос который обычно задают в виде какой-либо текстовой фразы (или точнее поискового запроса), выдачей ссылочного списка на информационные источники, осуществляющейся по релевантности. Самые распространенные и крупные системы поиска: Google, Bing, Yahoo, Baidu. В Рунете – Яндекс, Mail.Ru, Рамблер.

Рассмотрим поподробнее само значение запроса для поиска, взяв для примера систему Яндекс.

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




Но даже действуя таким образом, можно и не получить необходимую нам информацию. Если мы получили подобный отрицательный результат, нужно просто переформировать свой запрос, или же в базе поиска действительно нет никакой полезной информации по данному виду запроса (такое вполне возможно при заданных «узких» параметров запроса, как, к примеру, «как выбрать автомобиль в Анадыри»).

Самая основная задача каждой поисковой системы – доставить людям именно тот вид информации, который им нужен. А приучить пользователей создавать «правильный» вид запросов к поисковым системам, то есть фразы, которые будут соответствовать их принципам работы, практически, невозможно.

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

Когда он вводит свой запрос в поисковую машину, он желает найти то, что ему надо, как можно проще и быстрее. Получив результат, пользователь составляет свою оценку работе системы, руководствуясь несколькими критериями. Получилось ли у него найти нужную информацию? Если нет, то сколько раз ему пришлось переформатировать текст запроса, чтобы найти ее? Насколько актуальная информация была им получена? Как быстро поисковая система обработала его запрос? Насколько удобно были предоставлены поисковые результаты? Был ли нужный результат первым, или находился на 30-ом месте? Сколько «мусора» (ненужной информации) было найдено вместе с полезными сведениями? Найдется ли актуальная для него информация, при использовании ПС, через неделю, либо через месяц?




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

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

Обозначим главные характеристики поиска:

Полнота.

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

Точность.

Еще одна основная функция поисковой системы – точность. Она определяет степень соответствия запросу пользователя найденных страниц в Сети. К примеру, если по ключевой фразе «как выбрать автомобиль» найдется сотня документов, в половине из них содержится данное словосочетание, а в остальных просто есть в наличии такие слова (как грамотно выбрать автомагнитолу, и установить ее в автомобиль»), то поисковая точность равна 50/100 = 0,5.

Чем поиск точнее, тем скорее пользователь найдет необходимую ему информацию, тем меньше разнообразного «мусора» будет встречаться среди результатов, тем меньше найденных документов будут не соответствовать смыслу запроса.

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

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

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

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

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

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

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

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

История развития поисковых систем

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

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

Ведь даже сегодняшние, громадные по своим объемам каталоги имеют информацию о незначительно части сайтов в интернете. Самый известный и большой каталог в мире имеет информацию о пяти миллионах сайтов, когда база Google содержит информацию о более чем 25 миллиардов страниц.




Самой первой настоящей поисковой системой стала WebCrawler, возникшая еще в 1994-ом году.

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




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




В сентябре 1997-ом году была анонсирована (официально) ПС Yandex, которая в настоящий момент является самой популярной системой поиска в Рунете.




По данным на сентябрь 2015 года , доли поисковых систем в мире распределены следующим образом:
  • Google - 69,24 %;
  • Bing - 12,26 %;
  • Yahoo! - 9,19 %;
  • Baidu - 6,48 %;
  • AOL - 1,11 %;
  • Ask - 0,23 %;
  • Excite - 0,00 %


По данным на декабрь 2016 года , доли поисковых систем в Рунете:

  • Яндекс - 48,40%
  • Google - 45,10%
  • Search.Mail.ru - 5,70%
  • Rambler - 0,40%
  • Bing - 0,30%
  • Yahoo - 0,10%

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

В России главной системой поиска является Яндекс, затем Google, а потом Поиск@Mail.ru. Все большие системы поиска имеют свою структуру, которая весьма отличается от других. Но все-таки можно выделить общие для всех поисковиков основные элементы.

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

Данный компонент состоит из трех программ-роботов:

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




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

Indexer (робот-индексатор) – это программа, анализирующая страницы, которые скачали пауки.



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

Анализ проводится над разнообразными частями страницы, такими как заголовки, текст, ссылки, стилевые и структурные особенности, теги html и др.

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

База данных

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

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

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

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

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

Знание механизмов работы поисковых систем крайне важно для SEO-оптимизации. Эти знания - основа, так как они позволяют строить собственную стратегию продвижения сайта в Интернете.
Поисковая система состоит из нескольких основных компонентов: Spider, Crawler, Indexer, Database, SERE, Web server. Давайте рассмотрим каждый из компонентов подробнее.
Spider (анг. «паук») - браузеро-подобная программа, которая скачивает веб-страницы таким же способом, как вы скачиваете их с помощью браузера для просмотра. Существенное отличие состоит в том, что браузер отображает информацию, содержащуюся на странице (текстовую, графическую и т. д.), а паук не имеет никаких визуальных компонентов и работает напрямую с html-текстом страницы. Вы можете сами увидеть тот массив информации, с которой работает паук, если нажмете «Просмотр html-кода» в вашем браузере, чтобы увидеть «сырой» html-текст.
Crawler (краулер, «путешествующий» паук) называется программа, автоматически проходящая по всем ссылкам, найденным на странице. Задача краулера - определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Переходя по найденным ссылка, краулер осуществляет поиск новых документов, еще неизвестных поисковой системе.
Indexer (индексатор)разбирает страницы, скаченные пауками, на составные част и анализирует их. Выделяются и анализируются различные элементы страницы: текст, заголовки, структурные и стилевые особенности, специальные служебные html-теги и т. д.
Database (база данных) - хранилище скачанных и обработанных страниц, то есть все данных, которые поисковая система скачивает и анализирует. Иногда базу данных называют еще индексом поисковой системы. По сути это напоминает жесткие диски на наших персональных компьютерах.
Search Engine Results Engine (система выдачи результатов) - программа для извлечения результатов поиска из базы данных. Она занимается ранжированием страниц, то есть решает, какие страницы удовлетворяют запросу пользователя, и в каком порядке они должны быть отсортированы. В основе этой работы лежат определенные алгоритмы ранжирования поисковой системы (например, индекс цитирования). Эта информация является наиболее ценной для оптимизаторов, так как именно с этим компонентом поисковой системы они взаимодействует с целью улучшения позиции сайта в выдаче.
Web server - веб-сервер, который делает возможным взаимодействие между пользователем и остальными компонентами поисковой системы. Обычно на сервере присутствует html-страница с полем ввода, в котором пользователь может задать интересующий его поисковый термин. Также сервер отвечает за выдачу результатов пользователю в виде html-страницы.
Детальная реализация поисковых механизмов в отдельно взятой поисковой системе может быть различной (например, связка Spider+Crawler+Indexer может быть выполнена в виде единой программы), однако всем поисковым системам присущи описанные общие черты.

В одном из своих интервью Гари Флэйк (руководитель исследовательской лаборатории Yahoo!) сказал: «Если бы Web-поиск был совершенен, он бы выдавал ответ на каждый запрос, и это происходило бы так, будто на вопрос отвечает умнейший человек в мире, у которого есть под рукой вся справочная информация, и все это выполняется меньше, чем за мгновение». Пока же современные системы предоставляют визуальный интерфейс для анализа «препарированной» ими подборки документов.

  1. Навигация по сети.
  2. Альтернативным способом поиска является поиск объектов и их взаимосвязей, выделенных автоматически из текста документов в фазе ETL-процесса. Этот способ позволяет исследовать связи объектов из документов без указания контекстного критерия на фильтрацию документов. Например, можно произвести поиск взаимосвязей объекта «Чейни» с другими объектами (рис. 1). Это можно использовать для навигации к нужным объектам, для получения и анализа документов о связях этих объектов. Дальнейшее развитие методов анализа связей объектов связано с решением задач типизации связей между объектами. В свою очередь, их решение ограничено качеством синтаксических анализаторов русского языка и тезаурусов.

    Очень полезен метод навигации в подборке документов с использованием OLAP-технологии. Система «на лету» строит многомерное представление полученной подборки документов с измерениями из полей карточки: рубрики, авторы, дата публикации, источники. Аналитик может погружаться в элементы разных измерений (например, в регионы федерального округа), просматривать документы в ячейках с нужными значениями частот и др. Дополнительно могут использоваться общие методы анализа и прогноза данных. На рис. 3 показана схема получения списка публикаций из ячейки двумерного распределения публикаций по регионам и подрубрикам рубрики «Политика». Этот метод используется при анализе динамики публикаций и факторов, ее определяющих

  3. Автоматическое аннотирование.
Открытые источники информации делают доступными огромное количество публикаций и тем самым ставят проблему эффективной работы с большими объемами документов. Предоставление сжатого смысла первоисточников в виде аннотаций в несколько раз повышает скорость анализа. Однако, наш опыт показывает, что аннотации - статичный результат, он используется при анализе «бумажных» документов, а при анализе коллекций электронных документов более наглядное и структурированное представление содержания одного или коллекции электронных документов дает интерактивная семантическая карта взаимосвязей тем документов. Современные системы аналитической обработки текстовой информации обладают средствами автоматического составления аннотаций. При этом существует два подхода к решению этой задачи.
  1. В первом подходе программа-аннотатор извлекает из первоисточника небольшое количество фрагментов, в которых наиболее полно представлено содержание документа. Это могут быть предложения, содержащие термы запроса; фрагменты предложений с окружением термов несколькими словами и др. В более развитых системах выделяются предложения, прямо содержащие ключевые темы документа (но не кореферентные ссылки на них).
  2. В) При втором подходе аннотация представляет собой синтезированный документ в виде краткого содержания. Аннотация, сформированная в соответствии с первым подходом, качественно уступает получаемой при синтезе. Для повышения качества аннотирования необходимо решить проблему обработки кореферентных ссылок в русском языке. Еще одной проблемой, возникающей при синтезе аннотаций, является отсутствие средств семантического анализа и синтеза текста на русском языке, поэтому сервисы аннотирования ориентированы либо на узкую предметную область, либо требуют участия человека.

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

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

Самыми распространенными примерами поисковых систем, используемых повсюду, являются поисковые системы для Веба (такие как Google и Yahoo), которые применяются для обнаружения текстовой информации (например, документы в формате HTML и PDF), хранящейся на веб-серверах, расположенных по всему миру. Схожие технологии применяются и при поиске информации в корпоративных внутренних сетях.

Формальные компоненты поисковой системы

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

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

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

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

Здесь понятие релевантности является абсолютно произвольным и полностью зависит от поисковой системы (или, возможно, от ее пользователей).

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

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

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

Логический метод определения множества претендентов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изображение

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

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

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

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

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

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