Лекция 1
Принципы организации и поиска информации в интернете
Поиск информации в Интернете проводится двумя основными способами – с помощью каталогов (их еще называют директориями) и с помощью поисковых машин.
Директории обеспечивают контекстный поиск для структурированного просмотра, тогда как поисковые машины, как следует из их названия, контекста не обеспечивают, однако позволяют находить конкретные слова или фразы. Директории можно уподобить оглавлению книги, а поисковые машины – предметному указателю.
Часто поисковые системы объединяют в себе как поисковую машину, так и директории. Это хорошо видно на примере первой страницы Яндекса, где под поисковой строкой размещается список директорий, которые позволяют пользователю уточнять запрос по мере продвижения в глубь каждой из них.
Ввиду того, что принцип организации директорий понятен каждому, кто пользовался библиотечным каталогом – а среди читателей таких, смеем полагать, подавляющее большинство, – мы не будем подробно останавливаться на технике работы с директориями и уделим больше внимания работе с поисковыми машинами. В завершении же разговора о каталогах приведем пример «цепочки», по которой осуществляется поиск каталоге Яндекса: Бизнес > Реклама > Реклама в Интернете.
Все поисковые машины работают по одному и тому же алгоритму и основаны на одних тех же принципах. Различия между ними возникают лишь на уровне технической реализации этих принципов в работе.
Чтобы понять принцип работы поисковой машины, попробуем разделить вопрос на две части: на чем основан поиск и как он реализован.
На чем основан поиск Все поисковые машины базируются на трех основных операторах, лежащих в основе Булевой алгебры (ее также называют Булевой логикой или Boolean). Это логические операторы «И», «ИЛИ» и «НЕ». Работают они следующим образом.
1. Логическое «И». Если между двумя словами в запросе стоит оператор «И», то в результате поиска будут найдены лишь те документы, в которых содержатся оба слова.
Так, например, по запросу собака И кошка будет найден документ, содержащий предложение «собака гналась за кошкой», документов же, состоящих из текста «кошка отдыхала» или «корм для собак», мы не увидим.
2. Логическое «ИЛИ». Если между словами стоит оператор «ИЛИ», то результатом поиска станут документы, в которых содержится хотя бы одно из этих слов. Если мы не сделаем специальных ограничительных оговорок, то материалы, в которых оба эти слова присутствуют, также будут найдены.
По запросу собака ИЛИ кошка мы получим документы, исключенные в прошлом запросе и содержащие текст «кошка отдыхала» или «корм для собак», а также материал с предложением «собака гналась за кошкой».
3. Логическое «НЕ». Если два предыдущих оператора описывали те слова, которые вы хотите включить в запрос, то оператор «НЕ» слова из запроса исключает.
Пользователи, впервые сталкивающиеся с операторами запросов, нередко высказывают удивление: мол, не проще ли и вовсе не включать ненужное слово в запрос? Зачем вводить дополнительный оператор? Увы, нет. Не проще. На самом деле, чтобы понять важность логического оператора «НЕ», имеет смысл вспомнить, что наш запрос не создает в Интернете ничего нового. Мы лишь выуживаем то, что нам нужно, из имеющегося огромного, но все же конечного массива. При этом необходимо отсечь информационный мусор. Его-то мы и отсекаем с помощью оператора «НЕ». К сожалению, не нам решать, увидим ли мы этот мусор в выдаче. Так, например, по запросу сведений о коньке крыши неизменно появляется информационный мусор в виде документов о Коньке-Горбунке, фигурном катании, хоккее, лошадях и т. п. Без логического «НЕ» тут никак не обойтись.
Давайте рассмотрим примеры работы логического оператора «НЕ». По запросу собака НЕ кошка будет найден документ, содержащий текст «корм для собак», а вот документы со словами «кошка отдыхала» или «собака гналась за кошкой», и даже «корма для собак и кошек» из выдачи будут исключены.
Часто встречается чуть более сложный вариант написания запроса, который содержит все или почти все вышеперечисленные операторы. В этом случае лучше пользоваться таким элементом, как круглые скоби. Скобки позволяют отделять однотипные слова запроса от остальных. Кроме того, самому составителю при этом визуально гораздо удобнее различать отдельные фрагменты запроса. Мы не будем чересчур теоретизировать о скобках, а просто продемонстрируем работу указанного элемента на конкретных примерах. На наш взгляд, так будет понятнее, как и для чего используются скобки. Так, запрос пушистые И (собаки ИЛИ кошки) позволит получить документы, относящиеся как к пушистым собакам, так и к пушистым кошкам – по отдельности или вместе. Скобки при этом «раскрываются» по обычным арифметическим правилам вынесения за скобку общего множителя (для тех, кто не любит математику, поспешим сказать, что болеше углубляться в нее мы не будем). А вот запрос пушистые И (собаки ИЛИ кошки) НЕ (собаки И кошки) выдаст документы, в которых написано про пушистых собак или пушистых кошек, но не будет содержать текстов, где одновременно будут упомянуты и кошки, и собаки.
Еще раз повторимся, все поисковые машины сегодня работают на основе анализа этих трех операторов, хотя нюансы их написания в разных поисковых машинах могут отличаться.
Как поиск реализован. Каждая полноценная поисковая машина располагает собственным штатом роботов, или пауков. Их еще называют краулерами (crawlers) и спайдерами (spiders,). Это программы, которые перескакивают со страницы на страницу и сканируют находящиеся на них тексты, не вникая при этом в их содержание. После чего сбрасывают документы на серверы своих хозяев и идут к следующим страницам. Как паук определяет, куда ему пойти? Он находит так называемую гиперссылку (ту самую, при наведении на которую курсор приобретает вид раскрытой ладони, и при клике по которой происходит переход на другую страницу) и идет по ней. Вот почему, если на страницу не ведет ни одна ссылка, паук на нее тоже не придет. Исключение составляет ситуация, когда владелец страницы вручную сообщит о ней поисковой машине, заполнив специальную форму на сайте поисковой машины.
На сервере поисковой машины текст разбивается на отдельные слова, каждому из которых присваиваются координаты, после чего они заносятся в таблицу сервера вместе со ссылкой на тот адрес в Интернете, по которому текст размещался в момент посещения его пауком. Сам по себе поисковик представляет собой большую локальную сеть, состоящую из мощных компьютеров с огромным объемом дисковой памяти. Эти машины разделены на подгруппы (так называемые кластеры), между которыми распределяется информация, собранная пауками.