Поисковые системы

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

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

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

Следует отметить, что, отрабатывая конкретный запрос пользователя, поисковая система оперирует именно внутренними ресурсами (a не пускается в путешествие по Сети, как часто полагают неискушенные пользователи), а внутренние ресурсы, естественно, ограниченны. Несмотря на то, что база данных поисковой машины постоянно обновляется, поисковая машина не может проиндексировать все WеЬ-документы: их число слишком велико. Поэтому всегда существует вероятность, что искомый ресурс просто неизвестен конкретной поисковой системе.

Процесс поиска

В работе поисковый процесс представлен четырьмя стадиями:

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

Принципы работы

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

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

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

Многие современные поисковые системы родились из экспериментальных проектов, связанных с разработкой и внедрением автоматических программ, занимающихся мониторингом Сети. Теоретически, при удачном входе спайдер способен прочесать все Wеb-пространство за одно погружение, но на это надо очень много времени, а ему еще необходимо периодически возвращаться к ранее посещенным ресурсам, чтобы контролировать происходящие там изменения и выявлять «мертвые» ссылки, т. е. потерявшие актуальность.

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

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

В мультитредовой схеме скачивающие треды называются червями (worms), а их менеджер — погонщиком червей (wormboy). Не многие серверы выдержат нагрузки нескольких сотен червей, поэтому менеджер следит затем, чтобы не перегружать серверы. Абсолютно все поисковые роботы подчиняются файлу robots.txt, где web-мастер может ограничить индексацию страниц роботом. Также у роботов есть и свои фильтры. Например, некоторые роботы опасаются индексировать динамические страницы. Хотя сейчас wеbмастеры без проблем обходят эти места. Да и таких роботов остается все меньше.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Из поисковых указателей в России сегодня действуют три «кита» (есть и более мелкие системы, но мы останавливаться на них не будем). Это «Рамблер» (www.rambler.ru), «Яндекс» (www.yandex.ru) и «Апорт 2000» (www.aport.ru). Исторически наиболее популярной поисковой системой является «Рамблер». Она начала работать раньше других, и долгое время лидировала по размеру поискового указателя и качеству услуг поиска. Увы, сегодня эти достижения в прошлом. Несмотря на то, что размер поискового указателя «Рамблер» примерно равен 12 миллионам Wеb-страниц, он давно толком не обновлялся и выдает устаревшие результаты.

Самый большой указатель лежит в основе системы «Яндекс» - примерно 27 миллионов Wеb-страниц, но дело не только в размере. Это не просто указатель на ресурсы, а указатель на самые актуальные ресурсы. По уровню актуальности «Яндекс» сегодня -безусловный лидер.

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

Язык поисковых запросов

Язык поисковых запросов

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

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

Самыми распространёнными среди большинства поисковых систем являются команды поиска по маске: символы “* “ или “?“. Символ “?“ в ключевом слове запроса заменяет один символ в слове. А символ “* “ - последовательность символов.

Например, если в слове запроса неизвестна точно одна из букв, вместо неё может быть подставлен символ “?“.При вводе слова “велос?пед” , с подставленным символом “?“, поисковая машина сама вставит недостающую букву “и” и выдаст результат, соответствующий запросу.

Если необходимо найти производные от слова, то можно использовать символ “*”. В этом случае поисковый сервер найдёт документы, содержащие все доступные формы слова. Например, введя слово вода*, вы получите в результатах - “водный”, “водяной”, “водянистый” и т.д. Символы “+“ и “-“ принудительно добавляют, или исключают из запроса какие-либо слова. Слово, перед которым ставится знак “+“, должно обязательно присутствовать в результате запроса, а слово, перед которым ставится знак “-“, должно обязательно отсутствовать.

Например, если вы хотите найти в сети сотовый телефон с аксессуарами к нему, вы можете составить запрос таким образом: “сотовый телефон samsung +аксессуары”. Поисковая система будет при этом искать все документы, содержащие фразу “сотовый телефон sаmsuпg” и также содержащие слово “аксессуары”. Или, например, нужно найти информацию о сотовых телефонах samsung, но исключить из результатов информацию о продажах, Интернет-магазинах. Тогда запрос может выглядеть таким образом: “сотовый телефон Samsung -Интернет-магазин -продажа -цена”.

В некоторых машинах эти операторы имеют другое написание. Например в Рамблере операторы “+“ и “-“ будут выглядеть соответственно так: “AND” u “NOT”. Также оператор “AND” имеет сокращение “&“. . Оператор “ОR”(логическое ИЛИ) или его сокращение “|“ позволяет искать хотя бы одно из слов ключевой фразы. Например, запрос “автомобиль OR Toyota”, “автомобиль|Toyota” даст в результате хотя бы одно слово из сочетания. Хотя в этом случае, он естественно найдёт оба слова, так как выбран неудачный пример.

Аналогично символу “-“, применяется и символ “~“ - тильда, то есть исключает из результата слова, отмеченные этим знаком. Следующий символ — “”, двойные кавычки, используется для поиска фразы целиком для того, чтобы специальные символы расценивались как обычные, фразу следует заключить в двойные кавычки. Удвоение какого-либо символа применит действие не к одному предложению, а к целому документу.

Например, фраза “сотовый телефон samsung --цена --продажа” Означает, что слова “цена, продажа” должны отсутствовать в пределах всего документа, а не только в предложении. Запрос: “сотовый телефон sаmsung&&цена &&продажа &&Интернет-магазин” Указывает поисковой системе, что в выдачу необходимо включить все документы, в которых удастся найти эти слова, не зависимо от того, находятся ли они в одном предложении, или разбросаны по документу в произвольном порядке.

Символы-операторы можно комбинировать. для этого применяются открывающая и закрывающая скобки. Например, “сотовый телефон &(Nokia|samsung)” — означает, что документы должны содержать либо “сотовый телефон” и “Nokia”, либо “сотовый телефон” и “5аmsuпg”.

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

Последнее изменение: Среда, 24 Октябрь 2018, 17:05