8-800-700-11-15
8 (495) 989-11-15
8-800-700-11-15
8 (495) 989-11-15
Что такое поисковая машина или как работает поисковик

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

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

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

Самые первые поисковики индексировали до нескольких сотен тысяч страниц и получали 1,000 - 2,000 запросов в день. Сегодя топовые поисковики проиндексировали и индексируют в непрерывном режиме сотни миллионов страниц, обрабатывают десятки миллионов запросов в день. Ниже будет рассказано о том, как же работают поисковики и каким образом они "складывают" все кусочки найденной информации так, чтобы суметь ответить на любой интересующий нас вопрос.


Посмотрим на Web

Когда люди говорят о поисковых интернет машинах, они в действительности имеют в виду поисковые машины World Wide Web. Прежде, чем Web стал наиболее видимой частью интернет, уже существовали поисковые машины, которые помогали людям найти в сети информацию. Программы под названием "gopher" и "Archie" умели индексировать файлы, размещенные на разных серверах, подсоединенных к интернет Internet и многократно снижали временные затраты на поиск нужных программ или документов. В конце 80-х годов прошлого века синонимом "умения работать в интернет" было умение использовать gopher, Archie, Veronica и т.п. поисковые программы. Сегодня большинство интернет пользователей ограничивают свой поиск только всемирной сетью, или WWW.


Маленькое начало

Перед тем, как ответить вам где найти нужный документ или файл, это файл или документ должен быть уже когда то найден. Чтобы найти информацию о сотнях миллионах существующих WEB-страниц, поисковая машина применяет специальную программу-робот. Эта программа еще называется спайдер ("spider", паук) и служит для построения списка слов, найденных на странице. Процесс построения такого списка называется web-краулинг (Web crawling). Чтобы далее построить и зафиксировать "полезный" (имеющий значение) список слов, поисковый паук должен "просмотреть" массу других страниц.

Как же начинает любой паук (spider) свое путешествие по сети ? Обычно стартовой точкой являются наиболее крупные мировые сервера и очень популярных web-страницы. Паук начинает свой путь с такого сайта, индексирует все найденные слова и продолжает свое движение далее, по ссылкам на другие сайты. Таким образом, робот-паук начинает охватывать все большие "куски" web-пространства. Google.com начинался с академического поисковика. В статье, описывающей как была создана эта поисковая машина, Сергей Брин и Лауренс Пейдж (основатели и владельцы Google) привели пример, как быстро работают гугловские пауки. Их несколько и обычно поиск начинается с использованием 3-х пауков. Каждый паук поддерживает до 300 одновременно открытых соединений с web-страницами. При пиковой загрузке, с использованием 4-х пауков, система Гугл способна обработать 100 страниц в секунду, генерируя траффик около 600 килобайт/сек.

Чтобы обеспечить пауков необходимыми для обработки данными, раньше Google располагал сервером, который занимался только тем, что "подбрасывал" паукам все новые и новые URL. Чтобы не зависеть от интернет сервис провайдеров в части серверов доменных имен (DNS), транслирующих url в IP адрес, Google обзавелся собственным сервером DNS, сведя все временные затраты на индексацию страниц до минимума.

Когда Google робот посещает HTML страницу, он принимает во внимание 2 вещи:

- слова (текст) на странцие;
- место их расположения (в какой части body страницы).

Слова, расположенные с служебных разделах, таких как title, subtitles, meta tags и др. помечались как особо важные для пользовательских поисковых запросов. Google паук был построен так, чтобы индексировать каждое подобное слово на странице, за исключением междометий типа "a," "an" и "the.". Другие поисковики имеют несколько другой подход к индексации.

Все подходы и алгоритмы поисковиков в конечном итоге направлены на то, чтобы заставить роботов пауков работать быстрее и эффективнее. К примеру, некоторые поисковые роботы отслеживают при индексации слова в title, ссылках и до 100 наиболее часто используемых на странице слов и даже каждое из слов первых 20 строк текстового содержания страницы. Таков алгортим индексации, в частности, у Lycos.

Другие поисковики, такие как AltaVista, идут в другом направлении, индексируя каждое отдельное слово странциы, включая "a," "an," "the" и други неважные слова.


Мета-Теги (Meta Tags)

Метатеги позволяют владельцу web-страницы задавать ключевые слова и понятия, которые определяют суть её содержания. Это очень полезный инструемнт, особенно когда эти ключевые слова могут повторяться до 2-3 раз в тексте страницы. В этом случае мета-теги могу "направить" поисковый робот к нужному выбору ключевых слов для индексации страницы. Существует вероятность "накрутки" мета-тегов сверх популярными поисковыми запросами и понятиями, никак не связаннными с содержанием самой старницы. Поисковые роботы умеют бороься с этим, путем, например, анализа корреляции мета-тегов и содержимого web-страницы, "выкидывая" из рассмотрения те мета-теги (соответственно ключевые слова) , которые не соответствуют содержимому страниц.

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


Построение индекса

Как только пауки закончили свою работу по нахождению новых web-страниц, поисковые машины должны разместить всю найденную информацию так, чтобы было удобно в дальнейшем ею пользоваться. Здесь имеют значение 2 ключевых компонента:

- информация, сохраненная вместе с данными;
- метод, которым эта информация проиндексирована.

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

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

Следующий важный момент при обработке найденной информации - её кодирование с целью уменьшения объема дискового пространства для её сохранения. Например, в оригинальной статье Google описано, что для хранения весовых данных слов используется 2 байта (по 8 бит каждый) -- при этом учитывается вид слова (большими или прописными буквами), размер самих букв (Font-Size) и др. информация, которая помогает ранжировать сайт. Каждый такой "кусочек" информации требует 2-3 бита данных в полном 2-байтном наборе. В результате громадный объем информации удается сохранять в очень компактном виде. После того, как информация "сжата", пора приступать к индексации.

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

В любом языке существуют буквы, с которых начинается гораздо больше слов, чем с остальных букв алфавита. К примеру, слов на букв "M" в разделе английского словаря значительно больше, чем на букву "X". Это означает, что поиск слова, начинающегося с самой популярной буквы потребует больше времени, чем любое другое слово. Хешинг (Hashing) уравнивает эту разницу и уменьшает среднее время поиска, а также разделяет сам индекс от реальных данных. Хеш таблица содержит хеш-значения вместе с указателем на данные, соответствующие этому значению. Эффективная индексация + эффективное размещение вместе обеспечивают высокую скорость поиска, даже если пользователь задаст очень сложный поисковый запрос.


Будущее поисковиков

Поиск, основанный на булевских операторах ("and", "or", "not") - это буквенный поиск -- поисковик получает поисковые слова ровно так, как они введены. Это может вызвать проблему, когда, например, введенное слово имеет множество значений. "Ключ," например, может означать "средство для открытия двери", а может означать "пароль" для входа на сервер. Если вас интересует только одно значение слова, то вам, очевидно, будут не нужны данные по его второму значению. Можно, конечно, построить буквальный запрос, который позволит исключить вывод данных по ненужному значению слова, но было бы неплохо, если бы поисковик смог сам помочь вам.

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

Не менее интенсивно ведутся работы и в области разработки поисковых алгоритмов на основе запросов естественного языка (Natural-Language query).

Идея естественных запросов состоит в том, что вы можете написать запрос так, как если бы спросили об этом коллегу, сидящего напротив вас. Не надо беспокоиться о булевских операторах или напрягаться для составления сложного запроса. Самый популярный на сегодня поисковый сайт на основе языка естественных запросов - это AskJeeves.com. Он преобразует запрос в ключевые слова, которые затем и использует при индексировании сайтов. Этот подход работает только в случае простых запросов. Однако, прогресс не стоит на месте, возможно, что совсем скоро мы будем "разговаривать" с поисковыми машинами на своем, "человеческом языке".



http://www.exs.cc

09.06.06
Легкое подключение PayPal
Наш калькулятор стоимости интернет-магазина
Как наполнить интернет-магазин за 30 минут?
Как поставить цены ниже, чем у конкурентов?
Copyright © PHPShop™, 2004-2014. Все права защищены. ООО "ПХПШОП".
Тел:
8-800-700-11-15, 8-495-989-11-15
(многоканал.), пн - пт, 10.00 - 19.00