Яндекс научился искать в реальном времени или «эволюция Яндекса»

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

Легко ли быть зеркалом?

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

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

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

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

Чтобы окончательно сделать из поискового индекса отражение, мы создали и запустили новые технологии — робот «Orange Crawler» и «Real-Time поиск». Основная разработка была сделана калифорнийским отделением Яндекса — Yandex Labs в сотрудничестве с программистами московского офиса.

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

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

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

Orange познает ссылочную структуру интернета. Для этого ему достаточно скачивать и переобходить только часть «старых» страниц — хоть и достаточно большую. Полученные знания позволяют Orange обнаруживать почти все новые страницы, выбирать из огромного их количества все хоть сколько-нибудь интересные и мгновенно рассчитывать для них ссылочные факторы ранжирования. Вслед за роботом Orange документы обрабатывает Real-Time поиск — он подхватывает выбранные документы, индексирует их и за секунды выкладывает на поиск.

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

Кластер Orange Crawler реализован как распределенная вычислительная система: на каждой машине одновременно выполняются сотни небольших задач, результаты их работы в виде маленьких асинхронных сообщений отправляются на другие машины. На всем кластере сегодня обрабатывается более 100 тысяч сообщений в секунду. Подобная архитектура позволяет исключить задержки при обработке Real-Time информации, очень надежна и дает неограниченные возможности к масштабированию кластера.

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

Федор Романенко и Екатерина Вебер, операторы сетевой соковыжималки

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