Смекни!
smekni.com

Поисковые машины (стр. 2 из 3)

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

Технически модуль скачивания бывает либо мультимедийным (Altavista Merkator), либо используется асинхронный ввод-вывод (GoogleBot). Также разработчикам постоянно приходится решать задачу многопоточного DNS-сервера.

В мультитредовой схеме скачивающие треды называются червями (worms), а их менеджер – погоняльщиком червей (wormboy).

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

Для скачивания страниц роботы используют протоколы HTTP. Работает он следующим образом. Робот на сервер передает запрос “get/path/document” и другие полезные строки, относящиеся в HTTP запросу. В ответ робот получает текстовый поток, содержащий служебную информацию и непосредственно сам документ.

Целью скачивания является уменьшение сетевого трафика при максимальной полноте.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 Обзор функционирования поисковых машин

2.1 Зарубежные поисковые системы: состав и принципы работы

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

Данная система использует довольно сложный механизм составления запроса, включающий комбинации отдельных слов, словосочетаний и знаков пунктуации: кавычек, точек с запятой, двоеточия, скобок, плюса и минуса или привычных булевых операторов AND, OR, NOT и NEAR (последние в рамках усложненного поиска - Advanced search). Их сочетание дает возможность наиболее точно составить поисковое предписание.

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