Найдется все
 
05.11.2002
Илья Сегалович


 
<< Страница 1
Страница 2

2.3 Обработка содержания документа

Что значат все эти модули для конкретного документа? Что делает поисковая система с документом после скачивания?

Документ обрабатывается HTML-парсером (есть и другие форматы документов, и многие роботы их поддерживают), освобождающим документ от особенностей представления в этом формате и оставляющим только существенное для поиска: текст, заметные особенности шрифтового оформления, разбивка на абзацы, выделение ссылок и прочие полезные зоны в документе (с точки зрения возможностей поиска); для каждой ссылки запоминается, на какой URL она указывает, и т.д.
В этом этапе скрыта масса нюансов. В современных документах активно используется javascript для динамического изменения содержания, для навигации, CSS-стили для оформления и пр. Полностью интерпретировать все эти элементы слишком дорого, и то, что может позволить себе пользователь (3–5 секунд ожидания), не может позволить поисковый робот, пожирающий до ста документов в секунду. Поэтому все подобные элементы обрабатываются либо упрощенно (настолько, насколько позволяет эффективность алгоритмов обработки), либо вообще игнорируются.

Это не значит, что вебмастер может надеяться на полную гарантию того, что роботы никогда не будут понимать CSS или не ходить по ссылкам через javascript. Во-первых, роботы постоянно развиваются, во-вторых, в каждый момент времени разные роботы ведут себя по-разному. Но все же нельзя сбрасывать со счетов ограниченность поисковых роботов, как и вообще всех невизуальных агентов.

2.4 Собственно индексирование

И наконец, из текста выделяются слова по языково-зависимым правилам (вы не забыли, что язык роботу уже известен?) и на слова «набрасываются» алгоритмами морфологического анализа (те поисковые системы, которые это практикуют) и алгоритмами «собственно индексирования» (инвертирование текста).

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

В результате появляется индекс. Точнее, постоянно накапливается обновляющаяся часть индекса, которая периодически сливается с большим индексом. В Яндексе это происходит два раза в неделю.

3. Поиск. Путь запроса
3.1 Куда идет пользователь?

Итак, индекс построен. К браузеру подсел пользователь. Первым «зашедшего» на поисковый сервер пользователя встречает «умный» маршрутизатор (в случае с Яндексом это Cisco 7200), который переадресует нового пользователя на наименее загруженный веб-сервер. О загрузке веб-сервера устройство узнает через «обратную связь» одним из выбранных в конфигурации способов, например по числу одновременно выполняющихся процессов. С этого момента все запросы, приходящие с данного IP, то есть от данного пользователя, будут прозрачно переадресовываться на соответствующий веб-сервер.

3.2 Раздача запроса по серверам

 

Обмануть поисковую систему можно. Иногда она и сама обманываться рада — алгоритмы индексирования и вычисления релевантности ссылки относительно конкретного запроса, увы, неидеальны, что иногда приводит к забавным казусам.

Широко известна история, когда по слову «геморрой» Яндекс десятой ссылкой выдавал microsoft.com (этот же сайт выдавался на запросы «жопа» и «мастдай»). Связано это с тем, что Яндекс учитывает текст ссылок. И если в Сети множество ссылок на сайт Microsoft, в тексте которых есть вышеперечисленные медицинские термины, то Яндекс наивно предполагает, что именно этому сайт и посвящен (похожие проблемы, кстати, и у Google — и проблемы, судя по всему, пока что неразрешимые; издержки технологии). Менее известен случай с официальным сайтом президента Беларуси, который выводился четвертым в списке результатов в ответ на запрос «жопа». Во всех случаях Яндекс старается мягко скорректировать подобные мелочи — не изменяя алгоритмы, «опускает» эти слишком релевантные результаты пониже.

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

3.3 Собственно поиск и ранжирование

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

При этом Яндекс учитывает упоминания слов в заголовках и подзаголовках документа, шрифтовые выделения. Эта информация тоже кодируется в индексе.

3.4 Использование ссылок

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

Индекс ссылочного поиска строится отдельными процедурами с учетом пересечения ссылок между кластерами. В ссылочный индекс в Яндексе входят и ссылки из Яндекс.Каталога, который по техническим причинам индексируется чуть полнее и регулярнее, чем другие каталоги.
Введение ссылочного поиска и статической ссылочной популярности (мы называем этот фактор ВИЦ — взвешенный индекс цитирования — аналог известного PageRank) помогает поисковым системам справляться с примитивным текстовым спамом, который полностью разрушает традицонные статистические алгоритмы информационного поиска, полученные в свое время для контролируемых коллекций.

Для подавления примитивного непотистского спама (проставление взаимных ссылок с единственной целью поднять свой ранг) Яндекс использует смешанные автоматические и ручные приемы.

3.5 Слияние и группировки

Отдельная тема — ранжирование при слиянии. Для корректного ранжирования баз разного размера и с разной глобальной статистикой слов Яндекс использует оригинальную идею модификации запросов, передаваемых в поисковые источники методом проставления весов для каждого слова на основе глобальной статистики.

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

3.6 Архитектура

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



 
<< Страница 1
Страница 2


 Точка зрения на точку зрения [ "13-я КОМНАТА" ]
 Новости [ "НОВОСТИ" ]
 МикроФишки [ "НОВОСТИ" ]
 Как Феникс из пепла [ "НОВОСТИ" ]
 Настоящее китайское качество [ "ТЕМА НОМЕРА" ]
 Китайский бум [ "ТЕМА НОМЕРА" ]
 Вторая молодость "нонэйма"? [ "ТЕМА НОМЕРА" ]
 Спокойствие, только спокойствие… [ "SOFTТЕРРА LITE" ]
 Не по сезону косуха, старый пень! [ "SOFTТЕРРА LITE" ]
 Перманентный макияж [ "КОМПЬЮFЕРРА LITE" ]
 Яндекс. Офлайн [ "КАК ЭТО СДЕЛАНО" ]
 Найдется все [ "КАК ЭТО СДЕЛАНО" ]
 Сделай сам [ "АНАЛИЗЫ" ]
 Пара советов параноикам [ "АНАЛИЗЫ" ]
 Октябрьская революция форматов Интернет-рекламы [ "РЫНКИ" ]
 Стиль одежды — корпоративный! [ "ДЕЛА" ]
 Может ли российская электронная промышленность составить конкуренцию китайской, и что для этого требуется? [ "ВОПРОС НЕДЕЛИ" ]
 Амортизация жизни [ "ПИСЬМОНОСЕЦ" ]


Все материалы номера