тематический указатель:
поисковые
поисковые машины
поисковые системы
Назад (Сергей Петренко,) Вперёд (Секция II. Русские поисковые машины)

Секция II. Русские поисковые машины

Секция II. Русские поисковые машины

Илья Сегалович, «Яндекс»

Как поисковые системы помогают запросам встречаться с документами?

Об авторе: Илья Сегалович, руководитель отдела поисковых систем, Яндекс Аннотация:

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

Введение: поисковые системы сегодня

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

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

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

Известно несколько классов алгоритмов поиска. Подавляющее большинство из них требуют предварительного индексирования (алгоритмы инвертированных файлов, суффиксных деревьев, сигнатур). В случае прямого поиска индексирование не требуется – поиск производится, путем последовательного просмотра документов, «в лоб». Поисковая система Яндекса использует индекс, основанный на инвертированных файлах. Инвертированный файл – концептуально довольно простое понятие, с которым сталкивался в обыденной жизни каждый из нас. Любой индекс БД по ключевому полю является формой инвертированного списка. Впрочем, инвертированные списки не обязательно должны быть реализованы на компьютере – существуют – хотя и ограниченно известны – бумажные конкордансы текстов российских классиков, то есть словари, в которых в алфавитном порядке перечислены слова, употребляемые писателями, а также указана частота их употребления.

Понятно, что работать с подобным индексом гораздо эффективнее, чем без него. Намного проще отыскать нужное слово в конкордансе и посмотреть по ссылкам, где оно употребляется, чем перелистывать книгу в надежде это слово отыскать. Конечно, подробно составленный инвертированный индекс может быть довольно большим. Для уменьшения размеров файла прибегают обычно к двум очевидным приёмам. Первый приём заключается в минимизации объёма информации, которая хранится в инвертированном файле. Проще говоря, всё лишнее удаляется – остается лишь то, что действительно необходимо для подавляющего большинства запросов. Второй приём заключается в указании относительных адресов – для каждой позиции запоминается не её абсолютный адрес, а разница адресов между текущей и предыдущей позиции. Для пущей эффективности файл упаковывается (коды Голомба и прочие не очень жёсткие алгоритмы упаковки), однако эффективные алгоритмы сжатия, как правило, не используются – выигрыш в объёмах крайне незначителен, а процессорное время неэффективно расходуется на распаковку данных.

Как правило, размер упакованного инвертированного файла составляет от 7 до 30 процентов от исходного текста.

Итак, чтобы что-то найти, поисковая система исполняет два почти независимых процесса: индексирование (получение документов, их переработка, сохранение индекса) и поиск. Индекс устроен так, чтобы поиск работал максимально быстро и качественно. Находил все, что нужно, правильно всё ранжировал и выдавал максимум полезной информации, необходимой для процесса поиска.

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

Итак, что же происходит с документами при индексировании, а с запросами при их выполнении? Какой путь должны проделать друг к друг документы и запросы, чтобы в конечном итоге нужный документ оказался в нужном списке, в том, в котором его ищут самым «нужным» запросом?

Назад (Сергей Петренко,) Вперёд (Секция II. Русские поисковые машины)
Связаться с нами: info@internet-marketing-theory.ru